Как отправить заголовки Windows-аутентификации в API? - PullRequest
0 голосов
/ 17 октября 2019

У меня есть API, развернутый на сервере. Аутентификация установлена ​​на «Аутентификация Windows», но когда я отправляю запрос, используя axios, он возвращает

401 - Не авторизовано: доступ запрещен из-за неверных учетных данных.

Как я могу отправить запрос с заголовками для проверки подлинности Windows?

axios.get('http://ir-devtestsvr/FantasticDashboard/api/p/getDataA')
     .then(r=>{
       this.data = r.data
       if(typeof(cb)== 'function'){
         cb()
       }
     })

Может кто-то указать мне в правильном направлении

1 Ответ

1 голос
/ 17 октября 2019

401 - это задача аутентификации, говорит сервер или прокси-сервер. Чтобы получить доступ к этому ресурсу, вам необходимо пройти аутентификацию. Он также должен сказать вам, какие схемы аутентификации он поддерживает

, например, для Windows это Kerberos. / NTLM или и то, и другое. Если вы просматриваете ответ в Fiddler или ином инспекторе HTTP, вы должны увидеть хотя бы одно из 2 ниже, это хорошая отправная точка

  • WWW-Authenticate: переговоры
  • WWW-Authenticate: NTLM

Ваш браузер должен затем автоматически отправить еще один запрос с токеном, например, например image с этого сайта

Как только ваш сайт настроен в IIS, и вы отметили проверку подлинности Windows, вам больше не нужно ничего делать, если только нет проблем с настройкой, ваш прокси или ваш веб-сервер должны посмотреть.

см. здесь для объяснения того, как работает вызов 401, см. здесь для заголовков и потока проверки подлинности Windows см. здесь & здесь о том, как Chrome & Firefox реализуют

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