【问题标题】:axios how to send windows authentication headers to APIaxios如何将Windows身份验证标头发送到API
【发布时间】:2020-02-13 22:14:51
【问题描述】:

我有一个 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()
       }
     })

谁能给我指出正确的方向

【问题讨论】:

标签: javascript api axios


【解决方案1】:

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

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

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

然后,您的浏览器应使用令牌自动发送另一个请求,例如来自this 站点的

在 IIS 中设置您的网站并勾选 Windows 身份验证后,您无需执行任何其他操作,除非存在配置问题、您的代理或网络服务器需要查看。

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

【讨论】:

    猜你喜欢
    • 2017-02-18
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 2020-03-24
    相关资源
    最近更新 更多