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

2024-03-07

Context

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

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

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

我有一个域,没有子域。

Test

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

Code

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

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;
}

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

UPDATE 1

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

在 safari 上使用 HTTPS 时,“Authorization”标头是受保护的字吗?


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有授权的 HTTPS 请求无法通过 Safari 工作 的相关文章

  • 使用 JS 在 Angular 中创建删除按钮的确认警报

    我有一个带有删除按钮的表单 我想创建一个单击删除按钮时弹出的确认框 删除按钮当前有效 我在 javascript 中尝试了一些方法 但没有成功 我正在使用角度 这是最好的方法吗 另外 有谁知道这方面的任何例子 我还没有找到任何有效的例子 d
  • asp.net core / kestrel中的线程管理

    我正在解决我们已迁移到 asp net core 2 0 的 asp net 应用程序的性能 可扩展性问题 我们的应用程序作为应用程序服务托管在 azure 上 并且在任何中等流量的情况下都很容易崩溃 让我困惑的一件事是如何处理多个并发请求
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • 注入的 HttpContext 始终为 null

    老实说 这太令人兴奋了 我无法让它发挥作用 无论注入到何处 上下文始终为空 我是否必须在 Startup cs 中添加上下文实例 如果是 怎么办 始发呼叫 services AddTransient
  • 如何使用 ng-repeat 更改 AngularJS 中特定 的背景颜色

    如何为每一行设置不同的背景颜色 举个例子 第 1 行 蓝色 第2行 红色 第三行 绿色 main js scope names fName John lName David fName Richard lName Daniel fName
  • AngularJS 仅在解析时返回两个 http get 请求

    我有一个 Angular 应用程序 在控制器中我需要调用一个发出两个 http get 请求的函数 并且我需要这个函数在解析这些值时返回这些值 我无法在 routeProvider 中解析它们 因为此函数需要在同一控制器中获取值 我展示了控
  • 禁用在 django Rest Framework 中创建嵌套对象

    Hi 你能帮我怎么做吗禁用创建嵌套对象 我有这样的序列化器 员工拥有团队的外键 class TeamSerializer serializers ModelSerializer class Meta model Team fields id
  • Squid+iptables:如何允许https通过并绕过Squid?

    今天基本上是从 Squid 和 iptables 开始的 google 是你的朋友 这东西会害死我的 我在 Ubuntu 9 04 服务器上设置了 Squid3 作为透明代理 当我使用代理盒作为我的默认网关等时 它工作得很好 此设置的 ip
  • 到子级的角度路由 - 来自不同父级的子级

    我正在使用打字稿进行角度路由 但面临一些路由问题 流程似乎是 我真正想做的是通过Child Child2的一部分 其ID为Child1的Child 路由 但它不显示页面 Child1 用于插入 更新的所有路由都驻留在 Child1 中 而
  • 如何在 AngularJS SPA 应用程序中处理浏览器刷新?

    我的 AngularJS 应用程序使用 用户界面路由器 一个index html 文件 所有登录和数据调用都会发送到一个 ASP NET Web 控制器 其 URL 以 api xxx 开头 当用户输入 myapp com 时 服务器ind
  • Angular 中有主控制器好吗?

    我不知道这是否是一个好的做法 我在路由配置中定义了一个控制器 但是因为我的HomeCtrl is in ng if他听不到的声明loginSuccess所以我做了MainCtrl它监听loginSuccess并做出适当的反应 这段代码工作得
  • GET 数据是否也在 HTTPS 中加密?

    当你拿到时 https crypted google com search q s https encrypted google com search q s Is the s查询已加密 还是只是回应 如果不是 为什么谷歌还要对其公共内容进
  • 无法在.net core中使用WCF WSHttpBinding

    我正在尝试将我的项目从 net 移动到 net core 我最初在 net 中使用 WCF WSHttpBinding 服务 但无法在 net core 中使用相同的服务 我尝试使用 BasicHttpBinding 在客户端与 WsHtt
  • 离子旋转器未显示

    我用 http 请求填充 Ionic 集合重复列表 但我不想将所有内容直接加载到 DOM 中 因此 我只显示其中一些项目 并在您向下滚动时添加其余项目 为此我实现了无限滚动功能 当我到达页面底部时 它应该显示一个旋转器 但它没有 这些物品至
  • 为什么混合插值和表达式是不好的做法

    来自文档 在表达式内嵌入插值标记 Note AngularJS 指令属性采用任一表达式or带有嵌入表达式的插值标记 已经被考虑了不好的做法将插值标记嵌入表达式中 AngularJS 开发人员指南 插值 https docs angularj
  • Angular 2 中的变更检测

    我正在将角度 1 和角度 2 集成在一起 因此我有角度 1 控制器和服务以及角度 2 组件 这些对于数据检索和存储来说工作得很好 反之亦然 下面是我的 html 页面 h3 Angular 1 service h3 div div
  • 应用程序找不到位于另一个项目中的 Razor 页面

    我正在从事 Razor Pages 项目 该解决方案由多个项目组成 即 Server 它管理依赖注入的服务 是一个启动项目 应用程序 包含索引页面和共享组件 以及多个 模块 项目 它们是站点的独立区域 我需要向该解决方案添加新模块以及登陆页
  • 如何从asp net core中的AuthorizationFilter重定向到登录页面?

    当我回来时ForbidResult 它重定向到AccessDenied启动时指定的页面 我想做同样的事情UnauthorizedResult 但重定向到Login page P S 我没有使用标准Authorize控制器中的属性我有自己的
  • 在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

    我需要帮助使用 jQuery 从 ASP NET Core razor 视图页面传递隐藏控件值 jQuery 用于获取动态控件选定的值 section scripts
  • 如何在 AngularJS 循环内使用标签

    所以我在里面ng repeat像这样 li li

随机推荐