Ну, здесь есть пара вещей, которые нужно понять.
HTTP только cookie
Сначала HTTP-куки устанавливаются сервером с помощью заголовка set-cookie . В этом случае вам, как разработчику, не нужно ничего делать. Браузер автоматически установит его для вас и будет отправлять обратно на сервер при каждом запросе Ajax или non-ajax. Он будет отправлять куки, пока не истек срок их действия.
LocalStorage
При использовании LocalStorage для хранения токена любой код JavaScript может прочитать его (известный как атака XSS при неправильном использовании). Но здесь необходимо понять, что код JavaScript другого домена не может читать LocalStorage . Область действия ограничена вашим собственным сайтом. JS другого сайта не может прочитать его. Поэтому, если вы не используете какую-либо внешнюю зависимость или скомпрометированный CDN, вы в безопасности.
Межсайтовый cookie
Нет. Невозможно установить междоменный файл cookie ни при каких обстоятельствах. Только сервер другого домена может установить cookie для себя (если у вас нет некоторого механизма бэкэнда, такого как Gmail + Youtube, для совместного использования сеанса). Однако в случае субдомена допускаются следующие вещи:
- Родительский домен может установить cookie для любого дочернего домена. То есть
example.com
может установить cookie для *.example.com
.
- Дочерний домен может установить cookie для родительского домена. То есть
xyz.example.com
может установить cookie для example.com
.
Конечно, правила более сложные, чем это. Эта статья должна помочь вам понять больше.