Какие учетные данные отправляются, когда XHR указывает withCredentials? - PullRequest
0 голосов
/ 26 марта 2019

У меня есть клиент OAuth, который успешно извлекает токен доступа. Однако, когда я отправляю XHR, мне все равно нужно вручную создать заголовок Authorization, несмотря на указание withCredentials: true. Я предполагаю, что обычно клиент OAuth записывает учетные данные где-то, где браузер может получить к ним доступ и использовать их при последующих запросах, и, возможно, он этого не делает. Если это правда, чего мне здесь не хватать? Может ли кто-нибудь указать на пример кода в клиенте OAuth, который отвечает за хранение токена способом, доступным для браузера с помощью withCredentials?

1 Ответ

0 голосов
/ 26 марта 2019

Нет, это не так.

К сожалению, поддержка браузером HTTP-аутентификации на самом деле не прогрессирует с 1997 года, и мы все еще вручную добавляем заголовки авторизации, не можем получить доступ к защищенным конечным точкам OAuth2 напрямую через браузер или можем выйти из браузера chrome.

Вам нужно добавить заголовок самостоятельно.

То, что контролирует withCredentials, автоматически отправляет Authorization заголовки для тех мест, в которые вы уже вошли, но только для Basic и Digest auth, и он также может контролировать отправку файлов cookie автоматически или нет.

Подключите, но по теме: я написал оболочку fetch(), которая может прозрачно добавить заголовок: fetch-mw-oauth2 . Если вам не нравится проект, вы все равно можете проверить его на пример кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...