Z tego przewodnika dowiesz się, jak zakończenie przez Chrome obsługi plików cookie innych firm wpłynie na Twoje rozszerzenie i jakie zmiany musisz w nim wprowadzić.
Przegląd
4 stycznia 2024 r. Chrome wprowadził ochronę przed śledzeniem, która domyślnie ogranicza dostęp witryn do plików cookie innych firm (3P) w przypadku 1% użytkowników. Na początku 2025 r. Chrome planuje całkowicie wycofać pliki cookie innych firm.
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
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.
- Sprawdź użycie plików cookie innych firm w głównych ścieżkach użytkownika dodatku. W szczególności przeprowadź testy z wyłączonymi plikami cookie innych firm, aby ocenić wpływ na Twoje konkretne wdrożenie.
- 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ępna w Chrome i obsługiwana w Classroom, ale jej działanie i funkcje są nadal w fazie rozwoju i czekają na opinie. 
- 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 2024 r. i jednocześnie przejść na długoterminowe rozwiązanie, takie jak SAA. Po zgłoszeniu prośby o dostęp 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.