Почему не приходит заголовок Set-Cookie?

Есть два приложения: клиент и сервер. Оба лежат на разных доменах (в моём случае - на разных портах).
Клиент (JavaScript-приложение), используя axios, делает следующий запрос:

axios.get(API.getUserData(), {withCredentials: true}).then(response => {
    if (response.status === 200) {
        console.log('Получены данные пользователя: ' + response.data);
    }
}).catch(exception => {
    console.log('Ошибка доступа к серверу');
    console.log('Детали ошибки: ' + exception.toString());
});


Запрос идёт на другой домен, напоминаю.

Сервер (Tomcat, java-приложение) делает ответ следующим образом:
//начало метода
response.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "http://localhost:2323"); //Адрес клиента
response.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
response.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "GET");
response.addHeader(HttpHeaders.SET_COOKIE, "token=" + getStringToken());
response.setStatus(200);
//установка тела ответа и возврат результата


В итоге кроссдоменный запрос проходит, клиент получает всю необходимую информацию в теле ответа и все заголовки, кроме Set-Cookie. В чём может быть проблема?
  • Вопрос задан
  • 2371 просмотр
Пригласить эксперта
Ответы на вопрос 2
megafax
@megafax
web-программист
Access-Control-Allow-Headers: ...Set-Cookie...
Где это у Вас?
Ответ написан
Lynn
@Lynn
nginx, js, css
Он приходит, но к нему нельзя получить доступ из JS, т.к. заголовок Set-Cookie входит в список запрещённых.

https://developer.mozilla.org/en-US/docs/Web/API/H...
For security reasons, some headers can only be controlled by the user agent. These headers include the forbidden header names and forbidden response header names.


https://developer.mozilla.org/en-US/docs/Glossary/...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 17:14
4000 руб./за проект
29 мар. 2024, в 17:04
5000 руб./за проект
29 мар. 2024, в 17:03
3000 руб./за проект