为弃用第三方 Cookie 做好准备

本指南旨在帮助您了解插件的影响和必要更改 因 Chrome 终止支持第三方 Cookie 而引入。

概览

Chrome 于 2024 年 1 月 4 日推出了跟踪保护功能,该功能 第三方网站对第三方 (3P) Cookie 的访问权限默认设置为 1% 的用户。在 2025 年初,Chrome 预计会彻底停用第三方 Cookie

Google 课堂插件至少会影响以下两个用户体验历程:

  1. Google 单点登录 (SSO) 流程
  2. 将用户启动到新标签页

Google 单点登录

在 Google SSO 流程中,用户会转到一个对话框以登录其 Google 账号并同意数据共享。

从单个界面查看 SSO 期间的三个不同 Cookie 环境
iframe

图 1. SSO 期间三种不同 Cookie 情境的可视化 (1) 顶级 Google 课堂应用;(2) 第三方嵌入的 iframe(本例中为 localhost 上的 DavidPuzzle),以及 (3) 顶级 OAuth 对话框。

在典型的插件实现方式中,会话 Cookie 会在 此登录过程。位于嵌入式上下文中的插件 iframe 重新载入了,现在使用会话 Cookie,这样,用户就可以访问 进行身份验证的会话。然而,停用第三方 Cookie 后, 嵌入式内容(如插件 iframe)无法从各自的 顶级上下文。对于 Google 课堂插件,用户无法访问自己的 经过身份验证的会话,陷入登录循环。

对于在嵌入式 iframe 上下文中设置会话 Cookie 的实现, 此问题可以通过 CHIPS API 缓解,CHIPS API 允许嵌入式网站 设置和访问分区 Cookie(嵌入器和 嵌入式网域)。不过,如果实现在 顶级上下文,无法访问未分区的 Cookie,阻止登录。

新的标签

出于类似原因,如果用户在 Google Analytics 中 插件 iframe,并且 iframe 会将用户启动到针对 活动,则顶级标签页无法访问分区会话 Cookie 。这样可以防止 iframe 会话状态保留在新标签页中 activity,并且可能会强制用户在新标签页中重新登录。 从设计上来说,CHIPS API 无法解决此问题;已分区 iframe Cookie 在顶级环境中无法访问。

开发者操作

你应考虑采取几项措施,确保你的插件继续 。

  1. 审核在插件的关键用户历程中对第三方 Cookie 的使用情况。更多 具体而言,请在停用第三方 Cookie 的情况下进行测试,以评估对广告主的影响 您的具体实现方式。
  2. 探索 Storage Access API。对于所有插件实现,我们建议您 Storage Access API (SAA) 的使用说明。借助 SAA,iframe 可以 在 iframe 上下文之外访问其 Cookie。可在 Chrome 中使用 SAA 并受“课堂”应用支持

  3. 选择加入 FedCM。此外,如果您使用 GIS,请使用 Google 账号登录 库,Identity 团队的官方指南是选择启用 FedCM。这不会取代第三方 Cookie 功能,但最终 。FedCM 可用 和 Google 课堂均支持此功能,但其行为和功能 仍处于开发阶段,欢迎提供反馈。

  4. 迁移到 GIS。如果您使用已弃用的 GSIv2 库(也称为 Google 登录库,我们强烈建议您迁移到 GIS 部分,因为未来对 GSIv2 的支持尚不明确。

  5. 申请延迟弃用试用。Chrome 提供弃用 试用,以允许非广告用例延迟第三方的效果 Cookie 弃用。如果申请获批,您将获得一个可在 您的插件可确保您的源在 2024 年之前始终启用第三方 Cookie,而 迁移到 SAA 这样的长期解决方案。申请后,您将 要求提供 bug ID 或损坏报告的链接。我们的团队有 已经针对 Google 课堂插件提交此问题,您也可以提供此错误