Тестирование происхождения файлов cookie, имеющих независимое разделенное состояние (CHIPS)

Начиная с Chrome 100, пробная версия CHIPS Origin позволяет включать файлы cookie в «разделенное» хранилище с отдельной банкой файлов cookie для каждого сайта верхнего уровня.

Изменения

Что такое ЧИПС?

Файлы cookie с независимым разделенным состоянием (CHIPS) — это предложение Privacy Sandbox, которое позволяет разработчикам включать файлы cookie в «разделенное» хранилище с отдельными банками файлов cookie для каждого сайта верхнего уровня.

Секционированный сторонний файл cookie привязан к сайту верхнего уровня, на котором он изначально установлен, и к нему невозможно получить доступ откуда-либо еще. Цель состоит в том, чтобы разрешить установку файлов cookie сторонней службой, но чтение их только в контексте сайта верхнего уровня, на котором они были первоначально установлены.

Для кого предназначена пробная версия происхождения?

Эта пробная версия доступна как пробная версия стороннего источника , которая позволяет поставщикам встроенного контента опробовать новую функцию на нескольких сайтах.

Если сайт регистрируется в пробной версии в качестве основного, разделение файлов cookie будет также доступно любым сторонним поставщикам контента на этом сайте. Эти сторонние поставщики также должны рассчитывать на получение дополнительных HTTP-заголовков, указывающих на их участие в исходной пробной версии.

Как долго будет идти судебное разбирательство?

Пробная версия будет доступна от Chrome 100 до Chrome 105. Проверьте график выпуска Chrome , чтобы узнать запланированные даты выпуска.

Как принять участие в пробной версии Origin

Предварительные условия

Хром стабильный 103.

Шаги

  1. Чтобы зарегистрироваться для участия в пробной версии Origin и получить токен для своих доменов, посетите страницу пробной версии CHIPS origin .

  2. Включите заголовок Origin-Trial с действительным токеном во все ответы с заголовком Set-Cookie , которые включают Partitioned :

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. Добавьте атрибут Partitioned к файлам cookie одним из двух способов:

    • В заголовке Set-Cookie :

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • В JavaScript:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

Пример

Сайты, участвующие в испытании происхождения, должны включать в свой ответ следующие заголовки:

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

Убедитесь, что он работает

Проверьте заголовки

Если вы успешно выбрали пробную версию Origin и установили секционированный файл cookie, последующие запросы от клиента Chrome будут включать заголовок запроса Sec-CH-Partitioned-Cookies: ?0 до завершения текущего сеанса.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

Если ваш сайт получает файл cookie без этой подсказки клиента, значит, выбор исходной пробной версии не был успешным, и получаемый вами файл cookie не секционируется.

Ответы, которые не содержат заголовок Set-Cookie с Partitioned не повлияют на статус участия сайта в пробной версии.

Если вы не ответите действительным токеном в заголовке Origin-Trial разделенные файлы cookie на компьютере будут преобразованы в неразделенные файлы cookie.

Для получения более подробной информации ознакомьтесь с документацией CHIPS на сайте chromium.org .

Инструменты разработчика

  1. Перейдите в chrome://flags/#partitioned-cookies и измените настройку на «Включено».
  2. Перезапустите Chromium, нажав кнопку «Перезапустить» в правом нижнем углу или перейдя по адресу chrome://restart.
  3. Перейдите на chrome://settings/cookies и убедитесь, что переключатель установлен на «Разрешить все файлы cookie» или «Блокировать сторонние файлы cookie в режиме инкогнито».
  4. Загрузите сайт с вставкой.
  5. Откройте «Открыть DevTools» в «Приложение» > «Файлы cookie» > «ваш сайт» и найдите столбец «Ключ раздела» в DevTools.

Дополнительные детали

Требования к файлам cookie

  • Секционированные файлы cookie должны быть установлены с помощью Secure . ( Path=/ больше не требуется: см. github.com/privacycg/CHIPS/pull/49 ).
  • Атрибут SameParty нельзя использовать вместе с Partitioned.

Chrome будет применять эти правила для файлов cookie, установленных с атрибутом Partitioned , независимо от того, включено или отключено разделение файлов cookie. Неправильно установленные файлы cookie будут отклонены.

Если разделение файлов cookie отключено, но для файла cookie установлены правильные атрибуты, Chrome будет игнорировать атрибут Partitioned , и полученный файл cookie по-прежнему будет отправляться в запросах к своему хосту на сайтах верхнего уровня, отличных от того, на котором он был установлен.

Разделенные файлы cookie также должны включать атрибут SameSite=None , чтобы разрешить отправку файлов cookie в стороннем контексте в браузерах, которые не поддерживают разделение файлов cookie.

JavaScript и сервисные работники

Фреймы, которые выберут пробную версию Origin, будут иметь доступ к чтению и записи разделенных файлов cookie с помощью API-интерфейсов JavaScript, таких как document.cookie и API CookieStore. Фреймы, которых нет в сценариях пробной версии, не смогут ни читать, ни записывать разделенные файлы cookie.

Пробная версия происхождения CHIPS не поддерживается для сервисных работников.

Привлекайте и делитесь отзывами