Примите участие в пробной версии устаревших неразделенных сторонних хранилищ, Service Worker и коммуникационных API.

Начиная с Chrome 115 , хранилище, сервисные работники и коммуникационные API разделены на сторонние контексты . Помимо изоляции политикой одного и того же происхождения, затронутые API, используемые в сторонних контекстах, также разделены сайтом контекста верхнего уровня.

Сайты, у которых еще не было времени реализовать поддержку стороннего разделения хранилища, могут принять участие в пробной версии устаревания, чтобы временно отменить разделение (продолжить изоляцию с помощью политики того же источника, но удалить изоляцию с помощью сайта верхнего уровня) и восстановить прежнее поведение хранилища. сервисные работники и коммуникационные API в контенте, встроенном в их сайт.

В дополнение к общей пробной версии отказа от поддержки разделения на разделы можно принять участие в целевой пробной версии отказа от поддержки только для window.sessionStorage . Эта пробная версия доступна в связи с необходимостью некоторых сайтов перенести поток signInWithRedirect из Firebase. Дополнительные сведения об этой миграции см . в разделе «Рекомендации по использованию SignInWithRedirect в браузерах, которые блокируют доступ к стороннему хранилищу» .

Чтобы дать разработчикам больше времени на адаптацию к новой реализации разделения хранилища, пробные версии устаревших версий будут доступны до выпуска Chrome 127, запланированного на 23 июля 2024 г. Срок действия пробной версии устаревших версий для Chrome с 111 по 126 истечет в сентябре. 3-е, 2024 г.

Доступные пробные версии устаревания

Начиная с Chrome 115 доступны две пробные версии устаревших версий:

  1. DisableThirdPartyStoragePartitioning : позволяет сайту верхнего уровня выполнять разбиение (временное удаление изоляции сайтом верхнего уровня) в хранилище, сервис-воркерах и коммуникационных API в стороннем контенте, внедренном на его страницах.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning : позволяет сайту разбивать sessionStorage между навигациями.

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

DisableThirdPartyStoragePartitioning

Следующие API останутся неразделенными в сторонних контекстах, если вы зарегистрируете сайт верхнего уровня в пробной версии DisableThirdPartyStoragePartitioning : API хранилища (например, localStorage, sessionStorage, IndexedDB, Quota и другие), коммуникационные API (например, BroadcastChannel, SharedWorkers). и WebLocks) и ServiceWorker API .

Пример:

Схема разделения хранилища

Более подробное объяснение можно найти в объяснителе проекта .

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

Если вы зарегистрируетесь в пробной версии DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning , переход вкладки к зарегистрированному источнику приведет к тому, что все межсайтовые iframe того же происхождения останутся несекционированными только для Window.sessionStorage и только на время существования этой конкретной вкладки. В то время как пробная версия прекращения поддержки DisableThirdPartyStoragePartitioning влияет на все сторонние контексты, встроенные в зарегистрированный источник, пробная версия DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning вместо этого регистрирует данный источник для получения неразделенного доступа при внедрении в сторонние контексты.

Пример:

Схема разделения хранилища после общего паритонирования.

Что это значит для веб-разработчиков?

Сайты должны проверять использование несекционированного хранилища, сервис-воркеров и коммуникационных API в сторонних контекстах и, при необходимости, готовиться к стороннему секционированию до истечения срока действия пробных версий устаревших данных. Цель состоит в том, чтобы прекратить действие этих пробных версий устаревших версий с выпуском Chrome 127 3 сентября 2024 года.

Чтобы дать браузеру указание разделить хранилище стороннего контента, встроенного на его страницы, сайтам верхнего уровня необходимо зарегистрироваться для участия в одной или обеих пробных версиях и добавить соответствующие пробные токены в свои заголовки HTTP-ответов (см. подробный пример). ниже).

Каждая пробная версия устаревшей версии доступна для Windows, Mac, Linux, Chrome OS и Android.

Участвуйте в испытаниях устаревания

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

  1. Запустите Chrome версии 115 (или более поздней версии) и убедитесь, что флаг ThirdPartyStoragePartitioning включен.
  2. Убедитесь, что поведение стороннего контента, встроенного в ваш сайт верхнего уровня, нарушено разделением хранилища (если нет, то нет необходимости участвовать в испытаниях устаревания).
  3. Зарегистрируйтесь для участия в пробной версии и получите токен для своих доменов, посетив следующую страницу:
    1. Чтобы на сайте верхнего уровня можно было разбить хранилище, сервисные работники и коммуникационные API во встроенном содержимом стороннего производителя: DisableThirdPartyStoragePartitioning
    2. Чтобы сайт верхнего уровня разбивал sessionStorage между переходами: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Добавьте пробный токен источника на свою страницу:
    1. Для пробной версии DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning вы можете добавить Origin-Trial: <DEPRECATION TRIAL TOKEN> в заголовок ответа HTTP вашего сайта верхнего уровня, где <DEPRECATION TRIAL TOKEN> содержит токен, который вы получили при регистрации для участия в пробной версии устаревшей версии. Вы также можете сделать это через HTML ` ярлык.
    2. Для пробной версии DisableThirdPartyStoragePartitioning токен должен быть передан через HTML-тег <meta> , внедренный с помощью JavaScript. Метод заголовка HTTP не поддерживается.
  5. Загрузите свой веб-сайт в Chrome 115 (или более поздней версии) с включенным ThirdPartyStoragePartitioning и убедитесь, что все проблемы, связанные с секционированием, были должным образом устранены.
  6. Чтобы прекратить участие в пробной версии устаревшей версии, просто удалите токен, добавленный на шаге 2.

Пробная версия DisableThirdPartyStoragePartitioning поддерживает функцию пробных версий стороннего источника , но сторонний сценарий, внедряющий токен, должен быть оценен в кадре верхнего уровня перед загрузкой стороннего iframe, к которому не будет применено секционирование. Пробная версия DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning не поддерживает пробные версии сторонних источников, поскольку зарегистрированный пользователь должен был быть сайтом верхнего уровня в какой-то момент существования данной вкладки. Руководство по устранению неполадок в пробных версиях Chrome Origin содержит полный контрольный список, позволяющий убедиться, что ваш токен правильно настроен.

Поделиться отзывом

Любые отзывы или проблемы, с которыми вы сталкиваетесь, отправляйте в репозиторий Github для пробной версии разделенного хранилища .