Ten przewodnik pomoże Ci zrozumieć wpływ zakończenia obsługi plików cookie innych firm w Chrome na Twoje dodatki i wymagane zmiany w nich.
Omówienie
4 stycznia 2024 r. w Chrome została wprowadzona ochrona przed śledzeniem, która domyślnie ogranicza dostęp do plików cookie innych firm w przypadku 1% użytkowników. Na początku 2025 roku Chrome planuje całkowicie wycofać pliki cookie innych firm.
W przynajmniej 2 dodatkach do Classroom wystąpiły problemy:
- Proces logowania jednokrotnego (SSO) w Google
- Uruchamianie użytkowników w nowych kartach
Google SSO
Podczas logowania jednokrotnego Google użytkownicy są kierowani do okna dialogowego, 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 z poziomu iframe: (1) aplikacji Classroom najwyższego poziomu, (2) osadzonego iframe zewnętrznego (w tym przypadku DavidPuzzle na localhost) oraz (3) dialogu OAuth najwyższego poziomu.
W typowej implementacji dodatku po zakończeniu procesu logowania ustawiany jest plik cookie sesji. Ramka iframe dodatku, która znajduje się w osadzonym kontekście, jest ponownie wczytywana, tym razem z pliku cookie sesji, co umożliwia użytkownikowi dostęp do uwierzytelnionej sesji. Jednak gdy pliki cookie innych firm są wyłączone, witryny w ramach kontekstu wbudowanego, np. ramki iframe dodatku, nie mają 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 sesji uwierzytelnionej i utkwi 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 umieszczanym witrynom ustawianie i używanie plików cookie podzielonych (plików cookie z kluczem zarówno w przypadku umieszczającego, jak i umieszczonej domeny). Jednak implementacje, które ustawiają plik cookie sesji w kontekście najwyższego poziomu w oknie logowania, nie mają dostępu do niepartycjonowanego pliku cookie w elemencie iframe, co uniemożliwia logowanie.
Nowe karty
Z podobnych powodów, jeśli użytkownik ma sesję uwierzytelnioną na podstawie pliku cookie w ramce iframe dodatku, a iframe uruchamia nową kartę najwyższego poziomu dla aktywności, karta najwyższego poziomu nie może uzyskać dostępu do pliku cookie sesji podzielonej z ramki iframe. Zapobiega to przenoszeniu stanu sesji iframe do aktywności na nowej karcie i może na przykład zmusić użytkownika do ponownego zalogowania się na nowej karcie. Interfejs CHIPS API nie jest w stanie rozwiązać tego problemu z powodu swojej konstrukcji – partycjonowane pliki cookie w ramce są niedostępne w kontekście najwyższego poziomu.
Działania dewelopera
Aby zapewnić prawidłowe działanie dodatku w przyszłości, gdy Chrome będzie wycofywać pliki cookie innych firm, możesz wykonać kilka czynności.
- Sprawdź używanie plików cookie innych firm na kluczowych ścieżkach użytkownika w Twoim dodatku. W szczególności przeprowadź test z wyłączonymi plikami cookie innych firm, aby ocenić wpływ na Twoją konkretną implementację.
Poznaj Storage Access API W przypadku wszystkich implementacji dodatków zalecamy zapoznanie się z interfejsem API Storage Access (SAA). SAA umożliwia elementom iframe dostęp do plików cookie spoza kontekstu iframe. SAA jest obecnie dostępna w Chrome i obsługiwana przez aplikację Classroom.
Zaakceptuj FedCM. Jeśli używasz GIS, czyli biblioteki Zaloguj się przez Google, oficjalne wytyczne zespołu ds. tożsamości zalecają włączenie funkcji FedCM. Nie zastępuje to funkcji plików cookie innych firm, ale w ramach wycofywania plików cookie innych firm w GIS będzie to w przyszłości wymagane. FedCM jest obecnie dostępny w Chrome i obsługiwany w Classroom, ale jego działanie i funkcje są nadal w fazie rozwoju i otwarte na opinie.
Migracja do GIS. Jeśli używasz wycofanej biblioteki GSIv2, znanej też jako biblioteka logowania w Google, zdecydowanie zalecamy przejście na bibliotekę GIS, ponieważ nie wiadomo, czy GSIv2 będzie nadal obsługiwana.
Złóż wniosek o opóźnienie wycofania wersji próbnej. Chrome oferuje okres próbny wycofywania, aby umożliwić opóźnienie skutków wycofania plików cookie innych firm w przypadku zastosowań niereklamowych. Jeśli Twoja prośba zostanie zaakceptowana, otrzymasz token, którego możesz użyć w swoim dodatku, aby do 2024 r. zachować w pochodzeniu pliki cookie innych firm, jednocześnie migrując do długoterminowego rozwiązania, takiego jak SAA. Po zgłoszeniu prośby o przetestowanie otrzymasz prośbę o podanie identyfikatora błędu lub linku do raportu o braku zgodności. Nasz zespół przesłał już ten problem w przypadku dodatków do Classroom. Możesz zgłosić ten błąd.