在浏览器中导航时传递基本身份验证凭据

时间:2013-10-02 00:37:14

标签: http basic-authentication

情况是:

  • 用户在一个浏览器标签中的网站http://foo.com/
  • 此网站需要有一个链接/按钮,可在新标签页中打开https://bar.com/
  • https://bar.com/使用基本身份验证,foo.com希望自动传递这些凭据,以便浏览器不会提示用户。

这里显而易见的答案是传递网址中的信用卡,例如https://user:password@bar.com。不幸的是,这个好的旧语法在所有浏览器中都不起作用(在最新的IE中不起作用)。

我正在寻找适用于所有主流浏览器的替代方案。例如可能是这些方面的东西:

  • foo.com页面构建授权标头(通过编码信用卡的基础64,...)
  • 以某种方式将这些标头注入发送到https://bar.com/的请求中,以便在没有用户提示的情况下授权请求。

1 个答案:

答案 0 :(得分:1)

即使您能够在第一次请求时将凭据发送到站点,除非浏览器知道凭据的内容,否则如果用户导航到另一个页面,则必须再次提示用户输入这些凭据。受基本身份验证保护的同一个(bar.com)网站。

如果您可以控制bar.com网站,那么您可以考虑使用foo.com生成的令牌的替代身份验证方案,然后bar.com解释,如果有效,则初始化其会话以查看cookie而不是要求将来的请求进行基本身份验证。

查看this questionthis one