Vue.http.get w/authorization-仅在iOS上发出2个请求并失败



我必须使用承载令牌发出经过身份验证的HTTP请求。这在我测试过的所有东西上都能完美地工作。。。除了一些iOS设备。

fetchWithToken : function( endpoint, token ){
return Vue.http.get( urlBase + endpoint, {
headers : {
Authorization : 'Bearer ' + token
}
});
},

据我所知,该请求已发送两次。请注意,此函数只被调用一次(通过调试验证(,但服务器会收到两个请求。第一个请求包含令牌并成功授权。第二个没有令牌,失败了,将失败返回到我的应用程序的其余部分。

来自一个调用的两个HTTP请求让我想到CORS飞行前请求。然而,它是同一个域,上面函数中的urlBase变量是一个相对地址("/api/"(,而不是完整的URL。

iOS是否强制CORS?如果是这样的话,为什么发送的第二个请求没有授权标头,而不是飞行前请求?

错误的事件组合。服务器(一个symfony应用程序(正在为没有以斜杠结尾的端点执行301重定向。显然,iOS是唯一一个不让授权标头在301重定向中继续的用户代理。所以第一个请求有令牌,它是301’ed,而第二个请求没有。基本上需要3个小时的日志记录和跟踪所有内容,以了解我需要用/结束端点调用。

最新更新