Set-cookie с сервера на клиент не работает в узле angular 8 - PullRequest
0 голосов
/ 25 сентября 2019

Необходимо отправить cookie в заголовке с узла на угловой клиент.По умолчанию он установил куки в домене API.Если я установил домен в куки, он не работает.

Пожалуйста, уточните, какой правильный способ установить cookie-файл?

res.setHeader('Set-Cookie', ['token=' + token + ';httpOnly;Domain=abc.com;Path=/;secure:true;']);
res.cookie('token', token, { maxAge: 60*60*12, httpOnly: true,Domain=abc.com});     

1 Ответ

0 голосов
/ 25 сентября 2019

Ваш API и угловое приложение на разных доменах?Если это так, вам придется передать опцию withCredentials с вызовом http от angular.withCredentials - это логический флаг, который указывает, должны ли межсайтовые запросы Access-Control выполняться с использованием учетных данных, таких как файлы cookie, заголовки авторизации или клиентские сертификаты TLS.Кроме того, этот флаг также используется, чтобы указать, когда куки должны игнорироваться в ответе.По умолчанию установлено значение false.XMLHttpRequest из другого домена не может устанавливать значения cookie для своего собственного домена, если для withCredentials не установлено значение true перед выполнением запроса.Подробнее на MDN

Измените свой угловой HTTP-вызов с флагом withCredentials.Для GET

this.httpClient.get(url, { withCredentials: true})

Для POST

this.httpClient.post(url, body, { withCredentials: true})
...