Z tego przewodnika dowiesz się, jaki wpływ na Twoje dodatki ma zakończenie obsługi plików cookie innych firm w Chrome i jakie zmiany musisz wprowadzić w swoich dodatkach.
Przegląd
4 stycznia 2024 r. w Chrome wprowadzono ochronę 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.
Dodatki do Classroom mają wpływ na co najmniej 2 ścieżki użytkowników:
- Proces logowania jednokrotnego (SSO) w Google
- Uruchamianie użytkowników w nowych kartach
Google SSO
W trakcie procesu logowania jednokrotnego Google użytkownicy są otwierani w oknie, 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 się za pomocą funkcji logowania jednokrotnego z poziomu ramki iframe: (1) aplikacja Classroom na najwyższym poziomie, (2) ramka iframe z poziomu zewnętrznego (w tym przypadku DavidPuzzle na localhost) oraz (3) okno dialogowe OAuth na najwyższym poziomie.
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 plikiem 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 uwierzytelnionej sesji i blokuje się 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 na najwyższym poziomie okna logowania, nie mogą uzyskać 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 ramka 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. Zgodnie z zamierzeniem interfejs CHIPS API nie jest w stanie rozwiązać tego problemu. Pliki cookie w ramkach 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. a konkretnie przetestuj ją z wyłączonymi plikami cookie innych firm, aby ocenić jej wpływ na Twoją implementację.
Poznaj interfejs 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. Umowa SAA jest obecnie dostępna w Chrome i obsługiwana przez aplikację Classroom.
Włącz 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ępna w Chrome i obsługiwana w Classroom, ale jej działanie i funkcje są nadal w fazie rozwoju i otwarte na opinie.
Przeprowadź migrację 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ń innych niż reklamowe. Jeśli się zgodzisz, otrzymasz token, którego możesz użyć w swojej wtyczce, aby do 2024 roku 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 Google Classroom. Możesz zgłosić ten błąd.