Есть два приложения: клиент и сервер. Оба лежат на разных доменах (в моём случае - на разных портах).
Клиент (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. В чём может быть проблема?