gpt4 book ai didi

angularjs - 带有授权的 HTTPS 请求无法通过 Safari 工作

转载 作者:行者123 更新时间:2023-12-02 21:44:00 25 4
gpt4 key购买 nike

上下文

使用 Safari(IOS 和 MacOS),通过 HTTPS(两者一起)的带有授权 header 的 XHR 请求不会到达服务器。但它适用于 IE、Chrome 和 Firefox。

我使用 Letscrypt 生成的有效证书,浏览器不会显示有关它的警告。

在 Safari 的 Web 检查器上,这些 XHR 尝试获取结果,直到超时并且不显示错误。

我有一个域,没有子域。

测试

  • 授权 header + HTTPS => 不起作用
  • 授权 header + 无 HTTPS (HTTP) => 有效
  • 无授权 header + HTTPS => 有效

代码

我使用拦截器来设置授权 header 。

this.request = (config) => {
config.headers = config.headers || {};
var authData = localStorageService.get('authorizationData');
if (authData && config.url && !config.url.endsWith("/token")) {
config.headers = {
"Authorization": 'Bearer ' + authData.access_token
};
config.withCredentials = true;
}
return config;
}

有人遇到过同样的问题吗?

更新1

Safari + HTTPS +“授权” header 有问题。如果我将“Authorization”重命名为“MyHeader”,并在服务器上进行一些修改以使用“MyHeader” token 检索我的不记名 token ,则一切正常。

“Authorization” header 是 safari 上使用 HTTPS 的 protected 词吗?

最佳答案

我在 safari 中也遇到了类似的问题,其中 header 中的“授权”未在 GET 请求中发送,但最终结果很简单。

我只是在请求 URL 末尾附加了一个“/”,它对我有用。

例如:将 URL 从“/token”更改为“/token/”。

关于angularjs - 带有授权的 HTTPS 请求无法通过 Safari 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35684933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com