Дополнения Classroom влияют как минимум на два пути пользователя:
Процесс единого входа (SSO) Google
Открытие новых вкладок для пользователей
Google SSO
В процессе единого входа Google пользователи перенаправляются в диалоговое окно для входа в свою учетную запись Google и предоставления согласия на обмен данными.
Рисунок 1. Визуализация трех различных контекстов cookie во время единого входа из iframe: (1) приложение Classroom верхнего уровня, (2) встроенный iframe 3P (в данном случае DavidPuzzle на локальном хосте) и (3) диалоговое окно OAuth верхнего уровня.
В типичной реализации надстройки сеансовый cookie устанавливается по завершении процесса входа. IFrame надстройки, находящийся во встроенном контексте , перезагружается с сеансовым cookie, что позволяет пользователю получить доступ к своему сеансу аутентификации. Однако при отключении сторонних cookie сайты во встроенном контексте, например, iframe надстройки, не могут получить доступ к cookie из соответствующих контекстов верхнего уровня . В случае надстроек Classroom пользователь не может получить доступ к своему сеансу аутентификации и попадает в цикл входа.
Для реализаций, которые устанавливают сеансовый cookie-файл во встроенном контексте iframe, эту проблему можно решить с помощью API CHIPS , который позволяет встроенным сайтам устанавливать и получать доступ к секционированным cookie-файлам (файлам cookie, привязанным как к встраиваемому, так и к встроенному домену). Однако реализации, которые устанавливают сеансовый cookie-файл в контексте верхнего уровня диалогового окна входа, не могут получить доступ к несекционированному cookie-файлу в iframe, что препятствует входу в систему.
Новые вкладки
По аналогичным причинам, если у пользователя есть сеанс аутентификации на основе cookie в надстройке iframe, и iframe открывает пользователя на новой вкладке верхнего уровня для выполнения действия, вкладка верхнего уровня не может получить доступ к разделённому cookie сеанса из iframe. Это препятствует сохранению состояния сеанса iframe в активности новой вкладки и может, например, вынудить пользователя повторно войти в систему на новой вкладке. API CHIPS не может решить эту проблему по умолчанию; разделённые cookie iframe недоступны в контексте верхнего уровня.
Действия разработчика
Чтобы ваше дополнение продолжало функционировать так, как задумано, поскольку Chrome постепенно отказывается от сторонних файлов cookie, следует выполнить несколько действий.
Изучите API доступа к хранилищу . Для всех реализаций дополнений рекомендуем изучить API доступа к хранилищу (SAA). SAA позволяет iframe получать доступ к своим файлам cookie вне контекста iframe. SAA уже доступен в Chrome и поддерживается приложением Classroom.
Подпишитесь на FedCM . Кроме того, если вы используете GIS (библиотеку «Войти через Google»), официальное руководство команды Identity рекомендует подписаться на FedCM . Это не заменяет возможности сторонних файлов cookie, но в конечном итоге станет обязательным в GIS в рамках прекращения поддержки сторонних файлов cookie. FedCM уже доступен в Chrome и поддерживается в Classroom, но его поведение и функции всё ещё находятся в стадии разработки и открыты для отзывов.
Переход на ГИС . Если вы используете устаревшую библиотеку GSIv2 , также известную как библиотека входа Google, настоятельно рекомендуется перейти на ГИС , поскольку поддержка GSIv2 в будущем неясна.
Подайте заявку на отсрочку пробного периода устаревания . Chrome предлагает пробный период устаревания , чтобы позволить нерекламным вариантам использования отсрочить последствия устаревания сторонних файлов cookie. В случае одобрения вам будет предоставлен токен, который вы сможете использовать в дополнении, чтобы сохранить сторонние файлы cookie включёнными для вашего источника до 2024 года при переходе на долгосрочное решение, такое как SAA. После подачи заявки вас попросят предоставить идентификатор ошибки или ссылку для отчёта о сбое. Наша команда уже подала такую заявку для дополнений Classroom, и вы можете предоставить эту информацию об ошибке .
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-29 UTC."],[],[],null,["# Prepare for the third-party cookie deprecation\n\n| **Warning:** Chrome has [announced](https://privacysandbox.com/news/privacy-sandbox-update/) that **third-party (3P) cookies are no longer being deprecated** . The guidance described here is no longer necessary, and **add-ons should not be impacted in\n| early 2025**. However, Chrome intends to further elevate user choice around 3P cookies, so there could still be a future where 3P cookie access is more limited than it is today. Therefore, this guide might still be helpful for developers interested in understanding how 3P cookies are used in add-ons and future-proofing against potential changes in 3P cookie availability as the Chrome user experience evolves.\n\nThis guide helps you understand the impact and necessary changes to your add-on\nintroduced by [Chrome ending support for third-party cookies](https://privacysandbox.com/intl/en_us/open-web/#how-works-on-web-hero).\n\nOverview\n--------\n\nOn **January 4, 2024** , Chrome introduced [Tracking Protection](https://blog.google/products/chrome/privacy-sandbox-tracking-protection/), which restricts\nwebsite access to third-party (3P) cookies by default, to 1% of users. In\n**early 2025** , Chrome expects to [phase out 3P cookies completely](https://privacysandbox.com/intl/en_us/open-web/#the-privacy-sandbox-timeline).\n\nAt least two user journeys are impacted in Classroom add-ons:\n\n1. The Google single sign-on (SSO) flow\n2. Launching users into new tabs\n\n### Google SSO\n\nDuring the Google SSO flow, users are navigated to a dialog to sign into their\nGoogle Account and consent to data sharing.\n\n**Figure 1.** Visualization of the three different cookie contexts during SSO\nfrom within an iframe: (1) the top level Classroom app, (2) the 3P embedded\niframe (DavidPuzzle on localhost in this case), and (3) the top level OAuth\ndialog.\n\nIn a typical add-on implementation, a session cookie is set at the completion of\nthis sign-in process. The add-on iframe, which is in an *embedded context* , is\nreloaded, now with the session cookie, allowing the user to access their\nauthenticated session. However, when 3P cookies are disabled, sites in an\nembedded context like add-on iframes can't access cookies from their respective\n*top level* contexts. For Classroom add-ons, the user is unable to access their\nauthenticated session and becomes stuck in a sign-in loop.\n\nFor implementations that set the session cookie in the embedded iframe context,\nthis issue can be mitigated by the [CHIPS API](https://developers.google.com/privacy-sandbox/3pcd/chips), which allows embedded sites to\nset and access partitioned cookies (cookies keyed on both the embedder and\nembedded domain). However, implementations that set the session cookie in the\ntop level context of the sign-in dialog are unable to access the unpartitioned\ncookie in the iframe, preventing sign-in.\n\n### New tabs\n\nFor similar reasons, if a user has a cookie-based authenticated session in an\nadd-on iframe, and the iframe launches the user into a new top level tab for an\nactivity, the top level tab is unable to access the partitioned session cookie\nfrom iframe. This prevents iframe session state from persisting to the new tab\nactivity and might force the user to sign in again in the new tab, for example.\nThe [CHIPS API](https://developers.google.com/privacy-sandbox/3pcd/chips) is not able to resolve this issue, by design; the partitioned\niframe cookies are inaccessible in a top level context.\n\nDeveloper actions\n-----------------\n\nThere are a few actions you should consider to ensure your add-on continues to\nfunction as intended as Chrome phases out 3P cookies.\n\n1. **Audit** [3P cookie usage](https://developers.google.com/privacy-sandbox/blog/cookie-countdown-2023oct#audit) in your add-on's critical user journeys. More specifically, [test with 3P cookies disabled](https://developer.chrome.com/blog/cookie-countdown-2023oct/#test) to evaluate the impact for your specific implementation.\n2. **Explore Storage Access API** . For all add-on implementations, we recommend\n that you explore the [Storage Access](https://developers.google.com/privacy-sandbox/3pcd/storage-access-api) API (SAA). SAA enables iframes to\n access their cookies outside the iframe context. SAA is available in Chrome\n today, and is supported by the Classroom app.\n\n | **Note:** If your SSO flow does not set cookies in the dialog context and your add-on does not launch users into top-level tabs, you might not need SAA. Explore the simpler [CHIPS API](https://developers.google.com/privacy-sandbox/3pcd/chips) to see if it meets your needs.\n3. **Opt-in to FedCM** . In addition, if you use [GIS](https://developers.google.com/identity/gsi/web/guides/overview), the Sign in with Google\n library, the official guidance from the Identity team is to [opt-in to\n FedCM](https://developers.google.com/identity/gsi/web/guides/fedcm-migration). This does not replace 3P cookie capabilities but it will eventually\n be required in GIS as part of the 3P cookie deprecation. FedCM is available\n in Chrome today and supported in Classroom, but behavior and features are\n still [under development](https://github.com/fedidcg/FedCM) and open to feedback.\n\n4. **Migrate to GIS** . If you use the deprecated [GSIv2 library](https://developers.google.com/identity/sign-in/web/sign-in), also known as\n the Google Sign-In library, it is strongly recommended that you [migrate to\n GIS](https://developers.google.com/identity/gsi/web/guides/migration), as support for GSIv2 going forward is unclear.\n\n5. **Apply for a deprecation trial delay** . Chrome is offering a [deprecation\n trial](https://developers.google.com/privacy-sandbox/blog/third-party-cookie-deprecation-trial) to allow non-advertising use cases to delay the effects of the 3P\n cookie deprecation. If accepted, you'll be given a token that you can use in\n your add-on to keep 3P cookies enabled for your origin through 2024, while\n migrating to a long term solution like SAA. After [applying](https://developers.google.com/privacy-sandbox/blog/third-party-cookie-deprecation-trial#apply_for_the_deprecation_trials), you'll be\n asked to provide a bug ID or link for a breakage report. Our team has\n already filed this for Classroom add-ons and you can provide [this bug](https://issuetracker.google.com/issues/273552829).\n\n| **Warning:** Developers who are accepted into the deprecation trial will automatically have 3P cookies enabled during a [grace period](https://developers.google.com/privacy-sandbox/blog/third-party-cookie-deprecation-trial#:%7E:text=We%20acknowledge%20that,the%20grace%20period) even without the token in their app. Be aware of this caveat if you'd like use the 1% deprecation to test your how your add-on functions without 3P cookies.\n| **Note:** The deprecation trial is intended for *existing* applications. If you're building an add-on today, plan to build with SAA or another implementation that allows the add-on to function without 3P cookies. You might not qualify for the deprecation trial if you don't already have an affected application.\n| **Note:** Chrome has [announced a timeline](https://privacysandbox.com/intl/en_us/news/update-on-the-plan-for-phase-out-of-third-party-cookies-on-chrome/) shift in the 3P cookie phaseout from the second half of 2024 to early 2025. This change might impact duration of the deprecation trial, and this page will be updated to reflect changes."]]