【发布时间】:2014-11-23 19:36:29
【问题描述】:
我想在访问我网站上的端点 /access 时使用浏览器存储的安全 cookie。 cookie 在登录过程中保存,我确保我的网站在后端的子域上运行(为客户端创建 cookie)。
我的后端在 www.welovecoding.com 上运行,我的 Web 应用程序托管在 webapp.welovecoding.com 上。
我从后端收到的 cookie 如下所示:
Set-Cookie:user_id=RLXXWNCGAyVBmnogfiE1ngFCpBRKA48YaFOGyrPypwvU3eZCA==; 路径=/访问;到期=格林威治标准时间 2015 年 9 月 29 日星期二 17:37:11; 域=.welovecoding.com;仅http;安全
我现在要做的是在 www.welovecoding.com/access 上使用我的 cookie 作为身份验证凭据的 POST 请求。我在使用 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?
【问题讨论】:
-
你确定你的cookie没有被拒绝吗?根据这个post应该被拒绝。
标签: javascript jquery cookies session-cookies setcookie