Назад к блогу
Идентичность

Cookie Store API: асинхронные cookies и приватность

Разберите асинхронное чтение и запись cookies, видимость Service Worker и границы origin в Cookie Store API.

BotBrowser Team

Документация

Нужна структурированная документация по теме Идентичность?

Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.

Cookie Store API выполняет операции с cookies через Promise и предоставляет событие change. Это не делает cookies общим состоянием между origin и не отменяет правила Secure, SameSite, HttpOnly, Domain и Path. Ниже контрольный и кандидатный сценарии разделяют результат страницы, фонового обработчика и другого origin.

Кратко: BotBrowser может воспроизвести fixture с синтетическими cookies, но не может изменить политику браузера или доказать состояние аккаунта на сервере. Граница знаний браузера определяется спецификацией Cookie Store WICG и документацией MDN.

Кратко

API работает асинхронно, события являются локальным наблюдением, а worker должен сверять состояние после запуска. Origin и атрибуты cookie остаются границами контроля.

Содержание

  • Асинхронные операции
  • События change
  • Видимость фонового обработчика
  • Приватность и fixture

Страница и Service Worker асинхронно работают с cookie и событием change внутри одного origin, а другой origin блокируется

Асинхронные операции

get(), getAll(), set() и delete() возвращают Promise. Успешный результат означает принятие изменения этим контекстом, а не гарантию для следующего запроса, другой вкладки или сервера. Проверяйте наличие API и различайте состояния «недоступно», «записано», «удалено» и «отклонено»; запасной путь должен иметь тот же охват.

События change

cookieStore change помогает обновить производный интерфейс. Это не сетевое уведомление и не подтверждение доставки на сервер. После события перечитайте актуальное состояние и допускайте задержку, дубликаты или пропуск уведомления. Фоновый обработчик ограничен регистрацией и origin; после запуска он должен сверить состояние, поскольку мог быть остановлен во время изменения.

Видимость фонового обработчика

Используйте HTTPS-страницу и worker того же origin, чистый профиль и синтетический маркер. Записывайте версию браузера, secure context, атрибуты cookie, регистрацию worker и видимый результат. HttpOnly недоступен скрипту. Успешное чтение не доказывает личность, согласие или состояние аккаунта на сервере.

BotBrowser может подготовить синтетические cookies через --bot-cookies в объявленном BrowserContext. Это не выдаёт разрешение, не раскрывает HttpOnly и не меняет SameSite. Повторяйте fixture после обновления браузера, worker, атрибутов или потока входа.

Приватность и fixture

Дальнейшее чтение

См. API доступа к хранилищу для встроенного контента и управление cookies.

Практический итог

Оставляйте операции асинхронными, сверяйте состояние при запуске worker и записывайте версию браузера и атрибуты cookie.

Таблица решений

ВопросЗаписатьНе делать вывод
set() завершился?Изменение принято этим originСерверное хранение или личность
Пришёл change?Подходящий контекст увидел изменениеПолный журнал аудита
Worker прочитал маркер?Активны его цикл и областьДоступ к другому origin

Источники

#Cookie Store API#Cookies#Service Worker#Приватность Браузера

Переведите BotBrowser из исследований в продакшн

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