Я пробую новый Fetch API, но у меня проблемы с файлами cookie. В частности, после успешного входа в систему в будущих запросах есть заголовок Cookie, но Fetch, похоже, игнорирует эти заголовки, и все мои запросы, сделанные с помощью Fetch, не авторизованы.
Это потому, что Fetch все еще не готов или Fetch не работает с Cookies?
Я создаю свое приложение с помощью Webpack. Я также использую Fetch в React Native, который не имеет такой же проблемы.
same-origin
(что все еще работает) означает, что будет учитываться больше заголовков (куки и т. Д.), Но ваш код будет иметь ограниченный доступ к ответу.document.cookie
доступен для чтения , но все еще доступен для запросов ajax или fetch.В дополнение к ответу @ Khanetor, для тех, кто работает с запросами разных источников:
credentials: 'include'
Пример запроса на выборку JSON:
https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials
источник
document.cookie
, чтобы включить его в запросы.Только что решили. Всего два ф. дни брутфорса
Для меня секрет был в следующем:
Я позвонил в POST / api / auth и увидел, что куки были успешно получены.
Затем, позвонив GET / api / users / with
credentials: 'include'
и получив 401 unauth, из-за отсутствия файлов cookie с запросом.Ключ должен быть установлен
credentials: 'include'
для первого/api/auth
звонка тоже.источник
credentials: 'include'
для первогоPOST /api/auth
Если вы читаете это в 2019 году,
credentials: "same-origin"
это значение по умолчанию.источник
Просто добавив правильные ответы здесь для
.net
webapi2
пользователей.Если вы используете,
cors
потому что ваш клиентский сайт обслуживается с другого адреса, чем ваш,webapi
то вам также необходимо включитьSupportsCredentials=true
конфигурацию на стороне сервера.источник
Это работает для меня:
Затем создайте свой звонок:
источник