заголовок set-cookie не устанавливает cookie в Edge - PullRequest
0 голосов
/ 22 мая 2018

Я тестирую приложение локально и делаю запрос авторизации на http://localhost:3000/api/auth/login. В ответе возвращается заголовок set-cookie с токеном аутентификации JWT.JWT выглядит следующим образом:

JWT-TOKEN=[really long alphanumeric string];Version=1;Comment=;Domain=;Path=/;Max-Age=3600;;HttpOnly

После этого я делаю еще один запрос к http://localhost:3000/api/other/resource и получаю несанкционированную ошибку, так как он ожидает файл cookie с маркером JWT в запросе.

Cookie устанавливается в Firefox, Safari и Chrome, но не в Edge.Ничего в консоли инструментов Edge dev, что-то пошло не так.Есть идеи, почему cookie не устанавливается в Edge?

1 Ответ

0 голосов
/ 03 декабря 2018

Я нашел ответ, который работал в моем случае.

Мы использовали fetch на клиенте.В некоторых старых браузерах реализация собственной выборки по умолчанию будет иметь значение credentials: "omit",, тогда как в новых браузерах по умолчанию будет использоваться credentials: "same-origin".

. Таким образом, добавление этой опции, по-видимому, позволит Edge получать файлы cookie в запросах на получение, например

fetch('/users', {
  credentials: 'same-origin'
})

https://github.com/github/fetch#sending-cookies для справки.Несмотря на название заголовка, «пропустить» отключит как отправку, так и получение куки.

...