Przejście z niepartycjonowanych plików cookie na partycjonowane pliki cookie

Podczas przenoszenia witryny na partycjonowane pliki cookie możesz napotkać nieoczekiwane zachowanie, jeśli zarówno partycjonowany, jak i niepartycjonowany plik cookie z takim samym dla każdego klienta.

Ustawienie podzielonego pliku cookie nie zastąpi ani nie zastąpi istniejącego pliku cookie niepartycjonowany plik cookie o tej samej nazwie. Oba będą funkcjonować, o ile są pliki cookie są włączone, ale w osobnych kontenerach z plikami cookie. Gdy pliki cookie innych firm są wyłączona, akceptowana będzie tylko ta partycjonowana. Jeśli oba pliki cookie są nie można automatycznie określić, która z nich jest partycjonowana, a w przeciwnym razie – może to prowadzić do nieoczekiwanego działania.

Istnieją dwa sposoby rozwiązania tego problemu: 1. Utrata ważności pliku cookie, który zastępujesz 2. Zmienianie nazw plików cookie

Najważniejsze kwestie

Przechodząc na partycjonowane pliki cookie, pamiętaj o tych kwestiach:

  1. Nie można automatycznie określić, czy plik cookie jest lub partycjonowania. Możesz jednak określić i stan partycjonowania pliku cookie w Narzędziach deweloperskich w Chrome.
  2. Pliki cookie partycjonowane nie zastępują tych, które są podzielone – są to 2 elementy. są dokładnie takie same (czyli mają te same atrybuty, np. nazwę, domenę lub ścieżkę); będą traktowane jako osobne pliki cookie, jeśli tylko jeden z nich ma atrybut Partitioned.
  3. Lepiej unikać sytuacji, w której oba adresy URL są partycjonowane i niepartycjonowanego pliku cookie o tej samej nazwie, które są zwracane w funkcji to samo wywołanie sieci.

Anulowanie zastępowanych plików cookie

Jeśli witryna lub usługa nie pozwala na zmianę nazwy, można utworzyć nowego podzielonego pliku cookie z wygaśnięciem istniejącego. Choć nie można ustalić, czy plik cookie jest partycjonowany, Set-Cookie nagłówki bez atrybutu Partitioned nie będą miały wpływu na pliki cookie, które nie są partycjonowane.

W przykładzie poniżej pokazujemy, jak wygasać niepartycjonowany plik cookie o nazwie example i nie mieć wpływu na partycjonowane pliki cookie, nawet jeśli mają taką samą nazwę. Nowy podzielony plik cookie o nazwie cookieName zostanie dodany lub zaktualizowany, jeśli już jest istnieje.

Set-Cookie: example=-1;HttpOnly;SameSite=None;Secure;Max-Age:0
Set-Cookie: cookieName=value;Secure;SameSite=None;MaxAge=34560000;Partitioned

Zmienianie nazw plików cookie

Najlepszym sposobem na zapewnienie płynnego przejścia jest różne nazwy plików cookie partycjonowanych i niepartycjonowanych. Na przykład, jeśli masz niepartycjonowany plik cookie o nazwie „example”, możesz przenieść go do partycjonowanego pliku cookie.

Set-Cookie: example-partitioned=value;Secure;SameSite=None;MaxAge=34560000;Partitioned

Data ważności pliku cookie nie jest ujawniana automatycznie, więc aby ustawić datę ważności nowego pliku cookie tak, aby odpowiadała identyfikatorowi bez partycji okres ważności pliku cookie. Odświeżenie wartości pliku cookie może być pragmatyczne. podczas tego procesu.

Przechowuj pliki cookie partycjonowane i bez partycji

W okresie przejściowym rozważ zachowanie 2 oddzielnych synchronizowanych plików cookie: jedno podzielone, a drugie nie. Możesz na przykład mieć zarówno auth i auth-partitioned, przy czym ten drugi został ustawiony za pomocą makra Partitioned.

Po każdej aktualizacji wartości należy spróbować ustawić oba pliki cookie.

  • W przypadku klientów, które blokują pliki cookie innych firm, ale nie obsługują jeszcze CHIPS: żaden z nich nie zostanie zaakceptowany.
  • W przypadku klientów, które blokują pliki cookie innych firm i obsługują CHIPS: auth zostanie odrzucony, ale zaakceptowany plik cookie auth-partitioned.
  • W przypadku klientów, które nie blokują plików cookie innych firm, niezależnie od tego, obsługują CHIPY: akceptowane są zarówno auth, jak i auth-partitioned.

Gdy aplikacja musi odczytać plik cookie uwierzytelniania, sprawdź, najpierw dla auth-partitioned; ale jeśli musisz tymczasowo wycofać zmiany możesz wrócić do wyszukiwania pliku cookie auth.

Gdy ustalisz, że większość użytkowników ich pliki cookie zostaną odświeżone, plik auth-partitioned może zostać wycofany, a Do zwykłego pliku cookie uwierzytelniania można dodać atrybut partycjonowany.