Подтвердить что ты не робот

Http-запросы withCredentials, что это такое и зачем его использовать?

У меня была проблема с CORS с узлом и углом, и добавление этой опции с истинным решило мою проблему. Но я не нахожу информации о том, что это такое и что он делает. Пожалуйста, кто-нибудь может объяснить?

4b9b3361

Ответ 1

Короткий ответ:

withCredentials() заставляет ваш браузер включать файлы cookie и заголовки аутентификации в ваш запрос XHR. Если ваша служба зависит от любого файла cookie (включая файлы cookie сеанса), он будет работать только с этой опцией.

Более длительное объяснение:

Когда вы выдаете запрос Ajax на другой исходный сервер, браузер может отправить запрос перед полетом OPTIONS на сервер, чтобы узнать политику CORS конечной точки (для запросов, отличных от GET).

Поскольку запрос может быть вызван вредоносным сценарием, чтобы избежать автоматической утечки информации аутентификации на удаленный сервер, браузер применяет следующие правила:

Для запросов GET укажите информацию о файлах cookie и аутентификации в запросе сервера:

  • если клиент XHR вызывается с параметром withCredentials, установлено значение true
  • и если ответ сервера не включает в себя права доступа к заголовку CORS-Access-Control-Allow-Credentials: true, отмените ответ, прежде чем возвращать объект в Javascript

Для запросов без GET включать только файлы cookie и информацию аутентификации:

  • если с помощью параметраCredentials установлено значение true на объекте XHR
  • и сервер включил CORS Header Access-Control-Allow-Credentials: true в предполетных вариантах