Google chrome 摘要身份验证请求中的HTTP无授权字段

Google chrome 摘要身份验证请求中的HTTP无授权字段,google-chrome,http,microsoft-edge,Google Chrome,Http,Microsoft Edge,我的SOC上有一个带有摘要身份验证的http服务器。在尝试进行身份验证时,服务器正确发送401代码响应,并使用nonce和摘要架构发送WWW authenticate标头。但是,在某些主机上,浏览器不在其应包含的后续请求中包含带有nonce等的授权字段 以下是边缘登录尝试: 响应WWW-Authenticate-。 在上面的屏幕中,服务器返回正确的WWW身份验证字段 未经授权请求-。 我希望下一个请求中有授权字段,但没有 Chrome的尝试与此类似,只是它会立即显示401页而不显示登录提示,因为

我的SOC上有一个带有摘要身份验证的http服务器。在尝试进行身份验证时,服务器正确发送401代码响应,并使用nonce和摘要架构发送WWW authenticate标头。但是,在某些主机上,浏览器不在其应包含的后续请求中包含带有nonce等的授权字段

以下是边缘登录尝试:

响应WWW-Authenticate-。 在上面的屏幕中,服务器返回正确的WWW身份验证字段

未经授权请求-。 我希望下一个请求中有授权字段,但没有

Chrome的尝试与此类似,只是它会立即显示401页而不显示登录提示,因为标题中没有授权字段

Chrome和Edge都是Windows 10上最新的64位版本


什么可能的问题会导致这种行为?

显然,问题是多行WWW验证头。您可以在屏幕截图(0x0d 0x0a字节)中看到标题字段值之间的“/r/n”分隔符

最初的RFC 2616中允许使用这种多行,但后来被较新的RFC 7230弃用。有关详细信息和链接,请参阅


通过使标题字段成为单行来修复标题字段后,问题就消失了。我仍然不知道为什么完全相同的浏览器在某些主机上的头出现了这个问题,但在我的工作/家庭电脑上却完全没有问题。

在“基本”身份验证的情况下,交换必须通过HTTPS(TLS)连接才能安全。Ref:@Deepak MSFT我使用的是摘要,不是基本身份验证。TLS与问题无关。请尝试提供一个示例代码,用Edge browser复制和测试问题,以检查结果?它可以帮助我们更好地理解这个问题。谢谢你的理解。