问题描述
我正在尝试访问受密码保护的站点.它没有使用基本身份验证(即使在 firefox 中弹出相同的用户/密码框),因为响应标头是 WWW-Authenticate: Negotiate
.
I am trying to access a site that is password protected. It is not using basic authentication (even though the same user/pass box pops up in firefox) as the response header is WWW-Authenticate: Negotiate
.
我想通过发送正确的标头来自动化登录过程.
I want to automate the login process by sending the correct header.
在基本情况下,您将使用以下内容:
In basic you would use something like:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
我会用什么来谈判?
推荐答案
Web 服务器提示您输入 SPNEGO(简单且受保护的 GSSAPI 协商机制)令牌.
The web server is prompting you for a SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) token.
这是 Microsoft 的发明,用于协商一种用于 Web SSO(单点登录)的身份验证:
This is a Microsoft invention for negotiating a type of authentication to use for Web SSO (single-sign-on):
- NTLM
- 或 Kerberos.
见:
- Microsoft MSDN 库:基于 HTTP 的交叉- 使用协商协议进行平台认证
- RFC 4178:简单且受保护的通用安全服务应用程序接口 (GSS-API) 协商机制
这篇关于WWW-Authenticate 的身份验证问题:协商的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!