Axios - Обработка запроса с автоматической установкой файлов cookie

avatar
Borislav Stefanov
9 августа 2021 в 05:21
32
0
0

У меня есть запрос, целью которого является отправка файла cookie с токеном. Вот как это выглядит в Postman:

enter image description here

Как вы можете видеть в файлах cookie, я получаю токен, который мне нужно установить в браузере. Если я открою ссылку из запроса Postman в браузере, я получу набор файлов cookie: enter image description here

Когда я использую этот запрос с Axios в своем коде, файл cookie не устанавливается в браузере. Я подозреваю, что я не использую его правильно. Что я делаю, так это вызываю метод:

axios
      .get(`${apiAddress}Users?email=${logEmail}&password=${logPass}`)
      .then((res) => {
        if (res.status === 200) {
         console.log(res.data)
        }
      })
      .catch((e) => {
        console.log(e)
      });

Возможно ли при таком способе использования установить куки? Я делаю это правильно? Если ссылка устанавливает cookie при открытии в браузере с правильными параметрами, почему она не работает при вызове с помощью Axios?

Источник
Bravo
9 августа 2021 в 05:22
0

Вам необходимо установить withCredentials: true для того, чтобы файлы cookie были разрешены "между происхождением" (и отправлялись, если они установлены) - см. документацию axios

Borislav Stefanov
9 августа 2021 в 05:29
0

@Bravo Вы говорите о бэкэнде, где создается запрос, или о axios.get('some api url', {withCredentials: true});

Bravo
9 августа 2021 в 05:31
0

запрос не создается на бэкенде... он создается при вызове axios.get - и да, для запроса нужно задать withCredentials: true (т.е. в браузере, т.к. я выложил ссылку на axios, а вы' повторно используя axios в браузере)

Borislav Stefanov
9 августа 2021 в 14:36
0

@Bravo Я получаю: доступ к XMLHttpRequest по адресу [my_url_request] из источника 'localhost:3000' заблокирован политикой CORS: ответ на предварительный запрос не проходит проверку контроля доступа: значение ' Заголовок Access-Control-Allow-Origin в ответе не должен быть подстановочным знаком «*», если режим учетных данных запроса «включить». Режим учетных данных запросов, инициированных XMLHttpRequest, управляется атрибутом withCredentials.

Bravo
9 августа 2021 в 21:59
0

серверная часть должна правильно обрабатывать CORS

Ответы (0)