Не удалось получить cookie-файл JSESSIONID с помощью AXIOS - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь вызвать API для аутентификации пользователя.получить 200 успешных ответов, но не получить JSESSIONID cookie в ответ.

axios.defaults.withCredentials = 'true';
axios.defaults.crossDomain = 'true';
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.defaults.headers.post['withCredentials'] = 'true';
const data = {
          username: this.state.user,
          credential: this.state.pass
        }

        axios.post('http://3.122.7.162:5000/v60/admin/session', data)
        .then(response => {
          console.log("response");
          console.log(response);
        })
        .catch(error => {
          console.log("error");
          console.log(error);
        });

Спасибо

1 Ответ

0 голосов
/ 24 марта 2019

XMLHttpRequest и fetch (встроенные библиотеки HTTP-запросов в браузерах) не предоставляют информацию о файлах cookie в объекте ответа.

Он недоступен даже при непосредственном чтении заголовка Set-Cookie, потому что это заголовок запрещенного ответа .

Единственный способ прочитать данные cookie - это document.cookie, но он предоставляет информацию только о тех же исходных cookie.

Нет прямого способа получить данные из файла cookie разных источников, используя методы Ajax. Единственный способ сделать это - изменить код на стороне сервера, чтобы он возвращал копию данных cookie по другому пути, который мог прочитать JavaScript (например, в теле ответа).


Это не останавливает вас , используя куки. Если сторонние файлы cookie не отключены, они все равно будут сохраняться в банке файлов cookie браузера и автоматически отправляться с будущими запросами в домен, к которому они принадлежат.

...