W dodatkach do Classroom występują co najmniej 2 ścieżki użytkownika, na które ma wpływ ten problem:
Proces logowania jednokrotnego w Google
Otwieranie nowych kart dla użytkowników
Google SSO
Podczas procesu logowania jednokrotnego Google użytkownicy są przekierowywani do okna, w którym mogą zalogować się na swoje konto Google i wyrazić zgodę na udostępnianie danych.
Rysunek 1. Wizualizacja 3 różnych kontekstów plików cookie podczas logowania jednokrotnego w ramce iframe: (1) aplikacja Classroom najwyższego poziomu, (2) osadzona ramka iframe podmiotu zewnętrznego (w tym przypadku DavidPuzzle na localhost) i (3) okno dialogowe OAuth najwyższego poziomu.
W typowym wdrożeniu dodatku po zakończeniu procesu logowania ustawiany jest plik cookie sesji. Ramka iframe dodatku, która znajduje się w kontekście osadzonym, jest ponownie wczytywana, tym razem z plikiem cookie sesji, co umożliwia użytkownikowi dostęp do uwierzytelnionej sesji. Gdy jednak pliki cookie innych firm są wyłączone, witryny w kontekście osadzonym, np. w elementach iframe dodatków, nie mogą uzyskiwać dostępu do plików cookie z odpowiednich kontekstów najwyższego poziomu. W przypadku dodatków do Classroom użytkownik nie może uzyskać dostępu do uwierzytelnionej sesji i utyka w pętli logowania.
W przypadku implementacji, które ustawiają plik cookie sesji w kontekście umieszczonego elementu iframe, ten problem można rozwiązać za pomocą interfejsu CHIPS API, który umożliwia umieszczonym witrynom ustawianie i uzyskiwanie dostępu do podzielonych plików cookie (plików cookie z kluczem opartym na domenie umieszczającej i umieszczonej). Jednak implementacje, które ustawiają plik cookie sesji w kontekście najwyższego poziomu okna logowania, nie mogą uzyskać dostępu do niepodzielonego pliku cookie w elemencie iframe, co uniemożliwia logowanie.
Nowe karty
Z podobnych powodów, jeśli użytkownik ma sesję uwierzytelnioną na podstawie plików cookie w ramce iframe dodatku, a ramka iframe uruchamia użytkownika w nowej karcie najwyższego poziomu dla aktywności, karta najwyższego poziomu nie może uzyskać dostępu do podzielonego pliku cookie sesji z ramki iframe. Zapobiega to przenoszeniu stanu sesji elementu iframe do aktywności nowej karty i może na przykład wymusić ponowne zalogowanie się użytkownika na nowej karcie.
Interfejs CHIPS API nie jest w stanie rozwiązać tego problemu, ponieważ z założenia podzielone pliki cookie w ramce iframe są niedostępne w kontekście najwyższego poziomu.
Działania dewelopera
Aby mieć pewność, że dodatek będzie nadal działać zgodnie z przeznaczeniem, gdy Chrome wycofa pliki cookie innych firm, warto wykonać kilka czynności.
Dowiedz się więcej o interfejsie Storage Access API W przypadku wszystkich implementacji dodatków zalecamy zapoznanie się z interfejsem Storage Access API (SAA). SAA umożliwia elementom iframe dostęp do plików cookie poza kontekstem elementu iframe. SAA jest obecnie dostępna w Chrome i obsługiwana przez aplikację Classroom.
Włącz FedCM. Jeśli korzystasz z GIS, czyli biblioteki Zaloguj się przez Google, oficjalne zalecenie zespołu ds. tożsamości to włączenie FedCM. Nie zastępuje to funkcji plików cookie innych firm, ale w ramach wycofywania plików cookie innych firm będzie w przyszłości wymagane w GIS. FedCM jest obecnie dostępny w Chrome i obsługiwany w Classroom, ale jego działanie i funkcje są nadal w fazie rozwoju i czekają na opinie użytkowników.
Migracja do GIS Jeśli używasz wycofanej biblioteki GSIv2, znanej też jako biblioteka logowania przez Google, zdecydowanie zalecamy przejście na GIS, ponieważ dalsze wsparcie dla GSIv2 jest niepewne.
Złóż wniosek o opóźnienie wycofania Chrome oferuje okres próbny wycofywania, aby umożliwić przypadkom użycia niezwiązanym z reklamami opóźnienie skutków wycofania plików cookie innych firm. Jeśli Twoja prośba zostanie zaakceptowana, otrzymasz token, którego możesz użyć w dodatku, aby utrzymać włączone pliki cookie innych firm w przypadku Twojej domeny do końca 2024 r. i jednocześnie przejść na długoterminowe rozwiązanie, takie jak SAA. Po zgłoszeniu prośby o wsparcie poprosimy Cię o podanie identyfikatora błędu lub linku do raportu o awarii. Nasz zespół zgłosił już ten problem w przypadku dodatków do Classroom. Możesz podać ten błąd.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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."]]