Safari 12取代了授权标头

Sve*_*n W 10 safari authorization basic-authentication bearer-token ios12

我们有一个受基本身份验证保护的网络服务器(nginx)https://www.website.com.API https://www.website.com/api没有基本身份验证!

现在的问题是,自Safari 12(macOS和iOS)以来,由我们的javascript应用程序设置的带有/ api请求的承载令牌的http头实际上没有发送到服务器,因为它被替换为基本令牌.我可以在safari开发人员工具的网络选项卡中看到这一点.如前所述/ api是公开的,不受保护!

Chrome例如确实发送了正确的承载令牌,而不是基本令牌.

当我在nginx配置中删除基本身份验证并重新启动safari时,一切正常,并且Bearer令牌被发送到api.

似乎safari 12只是为域的每个请求自动发送基本令牌.

有没有人知道这是否是野生动物园的一个错误?一种解决方案可能是我们将api目标从/ api更改为单独的子域,如api.website.com.

谢谢你的帮助.

小智 1

我可以告诉您,我在您提出的“api.website.com”解决方案中遇到了同样的问题。Safari 似乎不关心子域。它似乎只关心域。