Skip to content

Third party cookie mitigations

Kristen Chapman edited this page May 30, 2022 · 4 revisions

OIDC front-channel logout, session management, and background token renewal generally use third-party cookies in the same ways. This table offers a variety of options for mitigating the deprecation of third-party cookies on your site.

There will be trade-offs; no solution is a one-to-one replacement. This table offers developers a place to start when considering what changes they will need to make to their services in order to continue to support the federated authentication components that currently require third-party cookies.

Proposed Solution Known Limitations RP Impact IdP Impact User Impact Privacy Impact Chrome Edge Safari Firefox Notes
OIDC Backchannel Logout net new development net new development none changes no impact
OpenID Shared Signals and Events net new development net new development none changes slightly no impact
Storage Access API not currently supported by Chrome; Safari requires a direct user interaction and taking the user to the third-party site so the user has a first-party interaction with the domain; Nested iframes may not be supported; must change none prompt per RP on logout on IdP improved not favorable supported supported supported
Storage Access API w/ Forward Declaration not currently supported; some changes changes single prompt improved not favorable favorable interested no signal
Federated Credentials Management none changes prompt per RP on login improved dev trial interested no signal no signal
First Party Sets (same set) under development; limit to the number of domains in a set; a domain can only be a member of a single set; likely to require that all domains share the same privacy policy; hosting metadata generally none, but if the IdP is owned by the same organization as the RPs, it would also host the metadata none changes finished an Origin Trial; in progress; interested not favorable not favorable limited use cases; you can test FPS by following Google's instructions in this Developer blog post
Login Status API under development; may require the user to go through a flow the browser can verify; may require user interaction/engagement to stay logged in; small change small change none no change no signal no signal favorable no signal
CHIPS partition is double-keyed on protocol and domain of the top-frame as well as the cookie's host key; n/a to federated logout scenarios none would need to add the Partitioned cookie attribute to their cookies none changes slightly Origin Trial in progress interested interested interested
Administrative controls none none none needs discussion supported supported ? ? limited use cases
End user controls none none understand and make change impact beyond use case tbd tbd tbd tbd
Do nothing user stays logged in can't notify RP of session change confusion, unintentional account access unintentional account access n/a n/a n/a n/a
Create custom domain (architectural changes) If you have only one RP and own fed flow, you can keep the code by creating a custom domain that turns your IdP into the same domain as your app; requires domain administration; none infrastructure changes none changes (masking ownership) no impact no impact blocks CNAME requests from known tracking domains block CNAME requests from known tracking domains
Clone this wiki locally