Sep*_*eph 11 http-authentication
如何确定REST Web服务是使用Basic,Kerberos,NTLM还是其他许多身份验证方法之一?
Rem*_*anu 11
当您发送未经身份验证的请求时,服务必须使用"HTTP/1.1 401 Unauthorized"进行响应,并且响应包含一个WWW-Authenticate标头,指定预期的身份验证方案(Basic,Digest),安全领域和任何其他特定值(如Digets的nonce) .因此,如果服务器响应:
HTTP/1.0 401 Unauthorized
WWW-Authenticate: Digest realm="example.com",
qop="auth,auth-int",
nonce="...",
opaque="..."
Run Code Online (Sandbox Code Playgroud)
它想要一个Digest身份验证.如果响应如下:
HTTP/1.0 401 Unauthorized
WWW-Authenticate: Basic realm="example.com"
Run Code Online (Sandbox Code Playgroud)
那么它需要基本身份验证.一些(很差)实现的服务器/站点无法正确处理Basic并直接响应403 Forbidden而不是先挑战.
NTLM类似于服务器响应401和WWW-Authenticate标头的值NTLM,但没有正式的公共规范,因为它是微软专有的.有各种逆向 工程描述.
遗憾的是,REST没有提供WSDL样式的服务描述来发现先验使用的认证方案.
| 归档时间: |
|
| 查看次数: |
10572 次 |
| 最近记录: |