url - 没有浏览器在标题中发送授权信息

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

我在看 thisthis并且在 URL 中发送凭据似乎很“容易”。例如:

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



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

如何让它变得更好?

最佳答案

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

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

测试此类设置的最简单方法是向您的服务器端点发送 curl 请求(无论如何都会发送身份验证参数)并验证是否收到 authorization标题:
curl 'http://gooduser:secretpassword@www.example.com/webcallback?foo=bar'

关于url - 没有浏览器在标题中发送授权信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556166/

相关文章:

javascript - 如果 href 包含哈希,如何阻止链接?

javascript - jQuery 选项卡 : how to create a link to a specific tab

javascript - 使用 __MSG_@@extension_id__ 和 jQuery 在 Chrome 扩展弹出窗口中创建链接

javascript - 如何在 Chrome 扩展程序中将 URL 添加到下载管理器?

post - 使用 cURL 仅从 HTTP POST 获取响应 header

c# - 获取 Request.Headers 值

c# - matweb.com : How to get source of page?

Perl CGI 可靠地读取 url_param 和 param

php - 如何在本地主机和 Web 服务器上实现绝对 URL?

javascript - 防止文档样式表影响chrome扩展注入(inject)的元素样式