为子域设置cookie

时间:2015-09-11 13:08:49

标签: cookies spring-boot subdomain

我正在以一种宁静的方式制作一个网络应用程序。 对于我的客户端我正在使用angularJs,同样托管在 - 让我们说 - https://domain.com

我的后端是在spring boot上构建的,我从子域调用所有资源 - 让我们说 - https://xyz.domain.com

现在,当用户登录时,后端会向客户端发送仅http的cookie。 我可以在响应标头中看到cookie但它没有在浏览器cookie中设置。

经过一番研究后,我尝试使用domain = .domain.com发送cookie 但那也没有用。

有没有办法在domain.com上为我的客户端设置来自xyz.domain.com的cookie

(注意 - 我没有使用www.domain.com)

任何帮助或线索都会很棒。

感谢您回答我的问题。

2 个答案:

答案 0 :(得分:2)

您所描述的问题与跨域Cookie政策有关。我不知道您的确切用例,但查看CORSP3P标题应该会给您一个良好的开端。作为选项,您可以尝试通过Javascript手动设置Cookie。

答案 1 :(得分:1)

使CORS正常工作是不够的,您还需要以角度启用withCredentials。

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials

示例:

angular.module('example', []).config(function ($httpProvider) {
    $httpProvider.defaults.withCredentials = true;
});