我想使用安全cookie,当访问我网站上的端点/access
时,浏览器会存储该cookie。在登录过程中保存了cookie,我确保我的网站在我的后端的子域上运行(为客户端创建cookie)。
我的后端正在www.welovecoding.com
上运行,我的网络应用程序托管在webapp.welovecoding.com
上。
我从后端收到的cookie看起来像这样:
设置Cookie:USER_ID = RLXXWNCGAyVBmnogfiE1ngFCpBRKA48YaFOGyrPypwvU3eZCA ==; 路径= /接入;到期=星期二,29-Sep-2015 17:37:11 GMT; 域= .welovecoding.com;仅Http;安全
我现在要做的是www.welovecoding.com/access
上的POST请求,我的cookie作为身份验证凭据。我在使用jQuery执行我的AJAX请求时发送withCredentials
:
$.ajax({
crossDomain: true,
type: 'POST',
url: "http://www.welovecoding.com/access",
xhrFields: {
withCredentials: true
}
}).done(function (data, textStatus, jqXHR) {
console.log("Response", data);
});
但我仍然得到一个HTTP错误403,表示缺少cookie。有谁知道为什么?也许是因为Cookie设置了HttpOnly
和Secure
?
答案 0 :(得分:4)
是的,这是因为Cookie已设置Secure
- 而且您要发布到http
;secure (cookie to only be transmitted over secure protocol as https)
https://developer.mozilla.org/en-US/docs/Web/API/document.cookie