Как получить ответные куки, если CORS их блокирует - PullRequest
0 голосов
/ 25 октября 2019

Я использую react-cookies и хочу получить его со стороны клиента на сторону сервера. Проблема в том, что когда я печатаю запрос в NodeJS, я не вижу ни куки, ни в header, ни где-либо еще. Я не уверен, что файлы cookie не были отправлены.

Я прочитал, что не могу автоматически получать файлы cookie, и мне нужно добавить {credentials:'include'} или {credentials:'same-origin'}. Я попробовал их обоих и не получил ошибок. Я читал, что это может быть связано с политикой CORS.

fetch(url, {
    method: 'POST',
    // credentials: 'include',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
       body: JSON.stringify(user)
});

Не могли бы вы рассказать, как проверить, были ли отправлены cookies и если да, то где именно найти cookies или если он не отправлял куки, как это исправить.

1 Ответ

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

Чтобы разрешить запросы CORS с учетными данными, вы должны заставить Express сделать 2 вещи:

  • send 'Access-Control-Allow-Origin' заголовок со значением, совпадающим с window.origin (это не может быть подстановочный знак '*')
  • отправить 'Access-Control-Allow-Credentials' заголовок со значением 'true'

И то, и другое можно сделать, передав объект параметров в cors:

app.use(cors({
  origin: true,
  credentials: true
}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...