没有浏览器在标头中发送授权信息

时间:2012-07-19 07:48:42

标签: url google-chrome http-headers fiddler basic-authentication

我正在查看thisthis,并且在网址中发送凭据似乎“很简单”。例如:

  

http://gooduser:secretpassword@www.example.com/webcallback?foo=bar

这一切都很好,但它不起作用。我已经开启了提琴手,并且对于Chrome,Authorization标头未发送。它似乎对其他浏览器表现出相同的行为(我在服务器上有一个断点,并且没有任何Authorize标头出现在Firefox,Safari或IE上)

如何让它变得更好?

2 个答案:

答案 0 :(得分:2)

在研究各种基本身份验证实现时偶然发现了这一点。

如果浏览器从服务器(more on basic auth protocol)收到401质询响应,则通常只会发送基本身份验证。如果有问题的端点接受经过身份验证和未经过身份验证的用户,则可能永远不会提示基于浏览器的请求提供auth参数。

测试此类设置的最简单方法是向服务器端点发送curl请求(无论发送身份验证参数)并验证authorization标头的接收:

curl 'http://gooduser:secretpassword@www.example.com/webcallback?foo=bar'

答案 1 :(得分:0)

好好经过多次搜索和试验方法

http://gooduser:secretpassword@www.example.com/webcallback?foo=bar

确实有效。 但是,需要注意确保密码不包含任何特殊字符。使用仅包含字母和数字以及超级密码的密码(如果必须),它应该可以使用。