【发布时间】:2017-10-25 12:24:54
【问题描述】:
我有一种情况,我试图跨子域使用单个 Http-Only 身份验证 cookie。
我已验证身份验证响应设置了 cookie,我将响应中的域视为 .mydomain.com。如果我在 Chrome 中打开 cookie 查看器(设置 -> 显示高级设置 -> 内容设置 -> 所有 cookie 和站点数据 ...)我看到我的身份验证 cookie 存储在 mydomain.com 下(没有前导“。”,不知道为什么)。
但是,当我向我的身份验证服务器发送一个简单的 get 请求以获取完整的授权令牌时,身份验证 cookie 不会发送:
//Sent from http://app.mydomain.com
$.get('http://auth.mydomain.com', null, function(fullAuthorizeTok) {});
这样的跨子域请求是不是也不能发送cookies?
我使用 Http-Only 身份验证 cookie 来防止 XSS 攻击,然后使用手动提交的授权令牌来防止 XSRF 攻击。这部分是应用程序已经通过身份验证并正在从服务器请求授权令牌的部分,我希望这可以从客户端 JS 中实现。
【问题讨论】:
标签: google-chrome cookies cross-domain subdomain