axios如何将Windows身份验证标头发送到API

时间:2019-10-17 04:41:30

标签: javascript api axios

我已将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 个答案:

答案 0 :(得分:1)

服务器或代理表示401身份验证是一个挑战,要访问此资源,您需要进行身份验证,它还应该告诉您它支持哪些身份验证方案

例如,对于Windows,其要么是Kerberos / NTLM,要么是两者 如果您在Fiddler或其他HTTP检查器中查看响应,则应该至少看到以下2个之一,这是一个很好的起点

  • WWW身份验证:协商
  • WWW认证:NTLM

然后,您的浏览器应使用image网站的this这样的令牌自动发送另一个请求

在IIS中设置了您的站点并勾选了Windows身份验证后,您无需执行其他任何操作,除非存在配置问题,否则您的代理服务器或Web服务器都需要检查。

请参阅here,以了解401挑战的工作原理 有关Windows身份验证标头和流程,请参见here 有关chrome和firefox的实现方式,请参见herehere

相关问题