【问题标题】:No browser is sending Authorization info in header没有浏览器在标头中发送授权信息
【发布时间】:2012-07-19 07:48:41
【问题描述】:

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

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

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

如何让它变得更好?

【问题讨论】:

  • 嗨,我刚刚遇到了同样的问题。您找到解决方案了吗?
  • 我很惊讶我看到为 chrome 中的基本自动化发送了 Authorization 标头。其他人仍然失败

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


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 2019-07-03
      • 2016-06-19
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-30
      • 2021-06-06
      相关资源
      最近更新 更多