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 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 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.
- Sprawdź użycie plików cookie innych firm w głównych ścieżkach użytkownika dodatku. W szczególności przeprowadź test z wyłączonymi plikami cookie innych firm, aby ocenić wpływ na Twoje 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ę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.