Имея мой веб-интерфейс и серверную часть на разных доменах, браузер блокирует файлы cookie, передаваемые между ними как третье лицо.
Можно ли программно внести белый список файлов cookie, т. Е. Не отключив этот параметр в браузере?
Подробнее о том, что я делаю:
Я использую cookie для отправки jwt в cookie только для http, для аутентификации.
Я использую реагировать с axios (клиент) и node.js с экспресс (сервер), но я считаю, что проблема не зависит от языка ...
На стороне клиента каждый запрос имеет:
withCredentials = true
.
На стороне сервера ответ строится (с помощью узла Express) следующим образом:
res.cookie('token', jsonToken, { httpOnly: true })
.sendStatus(httpStatus.OK);
и опции cors
(с использованием пакета npm cors ):
const corsOptions = {
origin: process.env.FRONTEND_URL,
credentials: true
};
То, что я пытался и не работало (готовьтесь к отчаянным / бессмысленным идеям ...):
- установка cookie
domain
для домена сервера, чтобы браузер принял его;
- добавление
allowHeaders
и exposeHeaders
к параметрам cors
на сервере со следующим значением: ['cookie', 'set-cookie']
.