情况是:
- 用户在一个浏览器选项卡中访问网站http://foo.com/
- 该站点需要有一个链接/按钮,可以在新选项卡中打开https://bar.com/
- https://bar.com/使用基本身份验证,而 foo.com 希望自动传递这些凭据,这样浏览器就不会提示用户。
显而易见的答案是在 URL 中传递凭据,例如https://user:password@bar.com。不幸的是,这种良好的旧语法并不适用于所有浏览器(在最新的 IE 中不适用)。
我正在寻找一种适用于所有主要浏览器的替代方案。例如,可能是这样的:
- foo.com 页面构建 Authorization 标头(通过 base 64 编码凭据,...)
- 以某种方式将这些标头注入到发送到https://bar.com/的请求中,这样请求就可以在没有用户提示的情况下获得授权。