Подготовьтесь к прекращению поддержки сторонних файлов cookie

Это руководство поможет вам понять, какое влияние и необходимые изменения внесёт в ваше дополнение Chrome, прекратив поддержку сторонних файлов cookie .

Обзор

4 января 2024 года Chrome представил функцию защиты от отслеживания (Tracking Protection), которая по умолчанию ограничивает доступ веб-сайтов к сторонним (3P) файлам cookie для 1% пользователей. В начале 2025 года Chrome планирует полностью отказаться от 3P-файлов cookie .

Как минимум два пользовательских сценария в дополнениях для Classroom затронуты:

  1. Процесс единого входа (SSO) Google
  2. Переключение пользователей на новые вкладки

Google SSO

В процессе единого входа Google пользователи перенаправляются на диалоговое окно для входа в свою учетную запись Google и предоставления согласия на обмен данными.

Визуализация трех различных контекстов cookie во время единого входа (SSO) внутри iframe.

Рисунок 1. Визуализация трех различных контекстов cookie во время единого входа (SSO) внутри iframe: (1) приложение Classroom верхнего уровня, (2) iframe, встроенный сторонним поставщиком (в данном случае DavidPuzzle на localhost), и (3) диалоговое окно OAuth верхнего уровня.

В типичной реализации дополнения сессионный cookie устанавливается по завершении процесса входа в систему. iframe дополнения, находящийся во встроенном контексте , перезагружается, теперь уже с сессионным cookie, что позволяет пользователю получить доступ к своей аутентифицированной сессии. Однако, когда сторонние cookie отключены, сайты во встроенном контексте, такие как iframe дополнений, не могут получить доступ к cookie из своих соответствующих контекстов верхнего уровня . В случае дополнений Classroom пользователь не может получить доступ к своей аутентифицированной сессии и застревает в цикле входа в систему.

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

Новые вкладки

По аналогичным причинам, если у пользователя есть аутентифицированная сессия на основе cookie в iframe-дополнении, и iframe запускает пользователя в новую вкладку верхнего уровня для определенного действия, вкладка верхнего уровня не может получить доступ к cookie-файлу разделенной сессии из iframe. Это препятствует сохранению состояния сессии iframe в новой вкладке и может, например, заставить пользователя снова войти в систему в новой вкладке. API CHIPS по своей сути не способен решить эту проблему; cookie-файлы разделенных iframe недоступны в контексте верхнего уровня.

Действия разработчика

Для обеспечения корректной работы вашего дополнения в процессе поэтапного отказа Chrome от сторонних cookie-файлов следует предпринять несколько действий.

  1. Проведите аудит использования сторонних cookie-файлов в критически важных пользовательских сценариях вашего дополнения. В частности, протестируйте с отключенными сторонними cookie-файлами, чтобы оценить влияние на вашу конкретную реализацию.
  2. Изучите API доступа к хранилищу . Для всех реализаций дополнений мы рекомендуем изучить API доступа к хранилищу (SAA). SAA позволяет iframe получать доступ к своим cookie-файлам вне контекста iframe. SAA доступен в Chrome уже сегодня и поддерживается приложением Classroom.

  3. Подключитесь к FedCM . Кроме того, если вы используете GIS и библиотеку «Вход с помощью Google», официальные рекомендации команды Identity предписывают подключиться к FedCM . Это не заменяет возможности использования сторонних файлов cookie, но в конечном итоге это станет обязательным в GIS в рамках отказа от сторонних файлов cookie. FedCM доступен в Chrome уже сегодня и поддерживается в Classroom, но его поведение и функции все еще находятся в разработке и открыты для обратной связи.

  4. Переходите на GIS . Если вы используете устаревшую библиотеку GSIv2 , также известную как библиотека Google Sign-In, настоятельно рекомендуется перейти на GIS , поскольку поддержка GSIv2 в будущем неясна.

  5. Подайте заявку на отсрочку прекращения поддержки сторонних cookie . Chrome предлагает пробную версию , позволяющую пользователям, не связанным с рекламой, отсрочить прекращение поддержки сторонних cookie. В случае одобрения вы получите токен, который сможете использовать в своем дополнении, чтобы сохранить поддержку сторонних cookie для вашего источника до 2024 года, пока вы переходите на долгосрочное решение, такое как SAA. После подачи заявки вас попросят указать идентификатор ошибки или ссылку на отчет о сбое. Наша команда уже подала заявку на исправление этой ошибки для дополнений Classroom, и вы можете указать ее в своем отчете.