gpt4 book ai didi

ios - 公理 : Authorization Bearer not sent on iOS

转载 作者:行者123 更新时间:2023-12-05 07:33:39 24 4
gpt4 key购买 nike

我使用以下命令在每个传出请求上附加一个值为“Bearer {access_token}”的授权 header :window.axios.defaults.headers.common['Authorization'] = 'Bearer' + localStorage。 getItem('access_token');

这在任何地方都可以正常工作,但在 iOS 上除外,在 iOS 上 header 未附加到请求。我还尝试将其附加到单个请求和同样的问题上。 header 不在请求中,服务器返回 401 未授权错误。

无论 iOS 上的浏览​​器是什么,该错误都会发生:Safari、Chrome、Firefox。它确实特定于 iOS(我的版本是 11.3.1)。在 Android 或桌面(MacOS、Windows)上没有问题。我用 iOS 模拟器进行了一些调试(问题也发生在这里):localStorage 中有一个名为 access_token 的项目,所以问题与此无关。

发生了什么??

谢谢

最佳答案

如您所述,此错误似乎只发生在 iOS/Safari 上。我们的 React Native 应用程序中的 axios 也面临着这个问题。

它只发生在 GET 请求中(授权 token 可以通过 POST 和 PUT 请求正常发送)。

所以你有两个选择:

  1. 使用不同的标题键,例如Authorization-Fake-X as suggested here .
  2. 如果此问题仅发生在 GET 请求中,请更改您的请求类型(例如 POST 或 PUT)。这是一个丑陋的选择,因为您会破坏 REST API 行为。

更新:

根据 this SO answer,该问题似乎已于 2021 年 10 月得到解决.不过,我们必须为使用旧版 Safari 和 iOS 的用户修复它。

关于ios - 公理 : Authorization Bearer not sent on iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50469570/

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