首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular不会在CORS上发送cookie

问Angular不会在CORS上发送cookie
EN

Stack Overflow用户
提问于 2016-03-13 21:24:50
回答 2查看 993关注 0票数 0

我有一个App Engine服务器,它托管一个AngularJS应用程序,该应用程序向另一个App Engine服务器上的一些Cloud Endpoints API发出CORS请求。根据$http service documentation,我设置了一个默认的头,使它能够在跨域请求中发送凭据:

代码语言:javascript
复制
$httpProvider.defaults.withCredentials = true;

前端服务器有一个支持SSL的相关自定义域,并通过HTTPS发出请求(因此两端基本上都是HTTPS)。我的目标是向后端发送一个身份验证cookie,以便管理资源访问授权,但由于某些原因,此cookie从未发送。当两个服务器在本地运行(前端:http://localhost:8081,后端:http://localhost:8080)时,我确实在请求中看到了cookie,但在部署时看不到。

我错过了什么?

angular http Documetation i follwed

EN

回答 2

Stack Overflow用户

发布于 2016-03-14 08:25:17

尝试将此标头添加到您的HTTP调用{'Content-Type': 'application/x-www-form-urlencoded'}中

票数 0
EN

Stack Overflow用户

发布于 2016-03-16 08:24:04

如果我理解正确的话,您想通过CORS将授权cookie发送到不同的(子)域?

要做到这一点,您需要在初始页面加载时允许CORS请求,使用您已经详细说明的'withCredentials‘,以及目标跨域调用的cookie。如果它是跨域的,你将不得不用js代码编写cookie,如果它是兄弟子域,请确保cookie域以点.domain.com开头,然后cookie将在该域的所有子域之间共享。

Localhost可以对这种测试造成严重破坏,因为域关系不同(即不是兄弟子域)-您可以尝试使用本地代理来设置将子域映射到环回地址的场景。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35970779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档