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

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

Обзор

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

Дополнения Classroom влияют как минимум на два пути пользователя:

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

Google SSO

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

Визуализация трёх различных контекстов cookie-файлов при едином входе (SSO) из iframe

Рисунок 1. Визуализация трех различных контекстов cookie во время единого входа из iframe: (1) приложение Classroom верхнего уровня, (2) встроенный iframe 3P (в данном случае DavidPuzzle на локальном хосте) и (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. Переход на ГИС . Если вы используете устаревшую библиотеку GSIv2 , также известную как библиотека входа Google, настоятельно рекомендуется перейти на ГИС , поскольку поддержка GSIv2 в будущем неясна.

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