Учетные данные: «включить», не включая заголовок Cookie - PullRequest
0 голосов
/ 04 февраля 2019

Я использую credentials: 'include' и mode: 'cors' на клиенте.На сервере я вижу заголовки access-control-allow-credentials: true и access-control-allow-origin: https://dev.com:9443.Хотя я не вижу свой заголовок cookie и не могу понять, почему он не отправляет.Сообщите мне, могу ли я предоставить какие-либо дополнительные сведения.

Запрос на получение

fetch(url, {
  method: 'get',
  credentials: 'include',
  mode: 'cors',
  headers: {
    'Content-Type': 'application/json'
  }
});

Заголовки запроса параметров

:authority: prod.fakedomain.com
:method: OPTIONS
:path: /Search
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9,fr;q=0.8,la;q=0.7
access-control-request-headers: content-type
access-control-request-method: GET
cache-control: no-cache
dnt: 1
origin: https://dev.com:9443
pragma: no-cache
referer: https://dev.com:9443/
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

Заголовки ответа параметров

access-control-allow-credentials: true
access-control-allow-headers: content-type
access-control-allow-methods: GET,HEAD,POST
access-control-allow-origin: https://dev.com:9443
access-control-max-age: 1800
allow: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH
content-length: 0
date: Mon, 04 Feb 2019 03:45:06 GMT
status: 200
vary: Origin
x-application-context: application:8080

Получить заголовки запроса

:authority: prod.fakedomain.com
:method: GET
:path: /Search
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9,fr;q=0.8,la;q=0.7
cache-control: no-cache
content-type: application/json
dnt: 1
origin: https://dev.com:9443
pragma: no-cache
referer: https://dev.com:9443/
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

Получить заголовки ответа

access-control-allow-credentials: true
access-control-allow-origin: https://dev.com:9443
content-encoding: gzip
content-type: application/json;charset=UTF-8
date: Mon, 04 Feb 2019 03:45:07 GMT
status: 200
vary: Origin,Accept-Encoding
x-application-context: application:8080

1 Ответ

0 голосов
/ 04 февраля 2019

Как отметил sideshowbarker в своем комментарии, браузер не устанавливает cookie для домена prod.fakedomain.com, и похоже, что сервер также не устанавливает cookie.Поэтому, если вы установили файлы cookie для dev.com, а они не являются httpOnly, вы можете попытаться скопировать их в prod.fakedomain.com (прочитав и запишите их с помощью JS).

Если вы хотите сохранить конфиденциальные данные вкуки (например, токен JWT), прочитайте о XSS / XST атаках и рассмотрите возможность использования флага HttpOnly.

...