파티션을 나누지 않은 쿠키에서 파티션을 나눈 쿠키로 전환

사이트를 파티셔닝된 쿠키로 전환할 때 파티셔닝된 쿠키와 파티션을 나누지 않은 쿠키 모두 동일한 값을 가진 경우 모든 클라이언트 이름이 존재합니다

파티션을 나눈 쿠키를 설정해도 기존 쿠키가 재정의되거나 대체되지는 않습니다. 파티션을 나누지 않은 쿠키를 사용합니다 서드 파티가 별도의 쿠키 단지에 들어 있습니다. 서드 파티 쿠키가 사용할 수 없습니다. 두 쿠키 모두 어느 것이 파티셔닝되고 어떤 것이 파티션으로 나뉘어지는지 프로그래밍 방식으로 알 수 없습니다. 그렇지 않은 경우 예기치 않은 동작이 발생할 수 있습니다.

이 문제는 다음 두 가지 방법으로 해결할 수 있습니다. 1. 대체할 쿠키 만료 2. 쿠키 이름 바꾸기

주요 고려사항

파티셔닝된 쿠키로 전환할 때는 다음 사항에 유의하세요.

  1. 쿠키인지 여부를 프로그래매틱 방식으로 확인할 수 있는 방법은 없습니다. 파티션을 나누거나 파티션을 나누지 않은 경우입니다 하지만 쿠키의 파티션을 나눈 상태를 Chrome DevTools에 표시합니다.
  2. 파티션을 나눈 쿠키는 파티션을 나누지 않은 쿠키를 덮어쓰지 않음(쿠키 2개) 정확히 동일한 (즉, 이름, 도메인 또는 경로와 같은 속성이 동일함) 하나의 쿠키에만 Partitioned 속성이 있는 경우 해당 쿠키는 별도의 쿠키로 처리됩니다.
  3. 두 파티션이 나뉘어 있을 상황을 피하는 것이 가장 좋습니다. 쿠키, 그리고 파티션이 나오지 않은 쿠키가 사용할 수 있습니다.

교체하는 쿠키 만료

사이트 또는 서비스에서 이름 변경을 수용할 수 없는 경우 새 파티션을 나눈 쿠키와 파티션을 나누지 않은 기존 쿠키를 만료 처리합니다. 동안 쿠키의 파티션을 나누는지 확인할 방법이 없습니다. Set-Cookie Partitioned 속성이 없는 헤더는 파티셔닝되지 않은 쿠키에 영향을 미치지 않습니다.

다음 예에서는 이름이 같더라도 example라는 파티션을 나누지 않은 쿠키를 만료시키고 파티션을 나눈 쿠키의 영향을 받지 않는 방법을 보여줍니다. 새로운 cookieName라는 파티션을 나눈 쿠키가 이미 있으면 추가되거나 업데이트됩니다. 존재하지 않습니다.

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

쿠키 이름 바꾸기

원활한 전환을 보장하는 가장 강력한 방법은 파티션된 쿠키와 파티션을 나누지 않은 쿠키의 이름을 다르게 지정할 수 있습니다. 예를 들어 'example'이라는 이름의 파티션을 나누지 않은 쿠키가 있습니다. 새 Cloud Shell로 파티셔닝된 쿠키를 사용할 수 있습니다.

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

쿠키의 만료는 프로그래매틱 방식으로 노출되지 않으므로 파티셔닝되지 않은 쿠키의 만료 시간과 일치하도록 새 쿠키의 만료 시간을 설정하는 방법이 만료되어야 합니다. 쿠키의 값을 새로고침하는 것이 실용적일 수 있습니다. 어떻게 해야 할까요?

파티셔닝된 쿠키와 파티션을 나누지 않은 쿠키 모두 유지

전환 기간에는 두 개의 동기화된 쿠키를 별도로 유지하는 것이 좋습니다. 파티션 나누기가 분할된 항목과 그렇지 않은 노드입니다. 예를 들어 authauth-partitioned 쿠키로, 여기서 후자는 다음과 같이 설정됩니다. Partitioned 속성

값이 업데이트될 때마다 두 쿠키를 모두 설정해야 합니다.

  • 서드 파티 쿠키를 차단하지만 아직 CHIPS를 지원하지 않는 클라이언트의 경우: 두 쿠키 모두 허용되지 않습니다.
  • 서드 파티 쿠키를 차단하고 CHIPS를 지원하는 클라이언트의 경우: auth 쿠키는 거부되지만 auth-partitioned 쿠키는 허용됩니다.
  • 서드 파티 쿠키를 차단하지 않는 클라이언트에서 CHIPS를 지원합니다. authauth-partitioned가 모두 허용됩니다.

애플리케이션이 인증 쿠키를 읽어야 할 때는 먼저 auth-partitioned 동안, 임시로 이전 버전으로 롤백해야 하는 경우 다시 돌아가 auth 쿠키를 찾을 수 있습니다.

대다수의 사용자가 쿠키를 새로고침하면 auth-partitioned 쿠키가 중지될 수 있고 파티션을 나눈 속성을 일반 인증 쿠키에 추가할 수 있습니다.