加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 为什么重定向的CORS请求失败?

发布时间:2020-12-17 07:17:00 所属栏目:安全 来源:网络整理
导读:我的问题是在我的应用程序运行localhost:8080上的 angularjs $http调用 var url "https://api.acme.com/RX/v1/user";$http.get(url).success(function (data) { alert('yay');$scope.user = data;}); 第一个请求成功,Chrome记录了以下响应: Status Code:30
我的问题是在我的应用程序运行localhost:8080上的 angularjs $http调用

var url "https://api.acme.com/RX/v1/user";
$http.get(url).success(function (data) {
    alert('yay');
$scope.user = data;
});

第一个请求成功,Chrome记录了以下响应:

Status Code:302 Found
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:8080
Location:https://login.acme.com/cas/login?service=https%3A%2F%2Fapi.acme.com%2FRX%2Fv1%2Fuser

这导致浏览器向重定向位置发出第二个GET请求:

https://login.acme.com/cas/login?service=https%3A%2F%2Fapi.acme.com%2FRX%2Fv1%2Fuser

第二个请求失败,Chrome中报告了以下错误:

XMLHttpRequest cannot load https://login.acme.com/cas/login?service=https%3A%2F%2Fapi.acme.com%2FRX%2Fv1%2Fuser. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

所以我有一个从源到URL的CORS请求,允许将请求重定向到另一个也配置为允许请求的URL.但是重定向请求失败了.我应该期待这个吗?

请注意,api.acme.com和login.acme.com都配置为允许使用所有来源

Access-Control-Allow-Origin: *

解决方法

见本节(7.1.7)的步骤6: http://www.w3.org/TR/cors/#redirect-steps

更多讨论可以在这里找到:https://code.google.com/p/chromium/issues/detail?id=154967

Unfortunately the convention of transmitting the string “null” makes it seem like it could be a bug; I thought so myself until I tracked this down

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读