我在本地计算机上通过端口8000上运行的应用程序使用域appdev.my_company.com
提供了一个简单的html页面。
相同的应用程序提供来自域appcenter.my_company.com
的API。
我在API中有一个端点,它设置一个如下所示的会话cookie标头:
Set-Cookie:gac_3_6e...="VC1_69...=="; Domain=.my_company.com; Path=/
我从静态页面向所述端点发出了一个ajax请求,希望cookie可以设置,因为域是相同的(只有子域不同):
/* In http://appdev.my_company.com:8000 */
$.ajax({
url: "http://appcenter.my_company.com:8000/login/",
method: 'POST',
data: JSON.stringify(data),
success: function(){
console.log("logged in");
},
headers: {
"Content-Type": "application/json"
}
});
但它没有。
cookie需要在浏览器窗口中与当前域相关联,因为我们需要重新加载一个获取此cookie的插件(cookie来自第三方服务器)。
如何让这个cookie在浏览器中注册?如果我查看Web控制台的“资源”选项卡,则不会显示任何cookie。
我查看了domain matching的RFC6265,看来这应该可行。
在这种情况下可能出现什么问题?