我正在以一种宁静的方式制作一个网络应用程序。 对于我的客户端我正在使用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)
任何帮助或线索都会很棒。
感谢您回答我的问题。
答案 0 :(得分:2)
您所描述的问题与跨域Cookie政策有关。我不知道您的确切用例,但查看CORS
和P3P
标题应该会给您一个良好的开端。作为选项,您可以尝试通过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;
});