5

我正在查看这个这个,在 URL 中发送凭据看起来很“容易”。例如:

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

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

如何让它变得更好?

4

2 回答 2

2

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

401浏览器通常仅在收到来自服务器的质询响应时才发送基本身份验证(更多关于基本身份验证协议)。如果有问题的端点同时接受经过身份验证和未经过身份验证的用户,则可能永远不会提示基于浏览器的请求输入身份验证参数。

测试此类设置的最简单方法是将 curl 请求(无论如何都发送身份验证参数)发送到您的服务器端点并验证是否收到了authorization标头:

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

于 2013-05-11T20:53:14.967 回答
0

好的,经过大量搜索和试验该方法

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

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

于 2013-08-01T00:33:31.350 回答