我正在使用 Express 中的 vhost 功能和 Node 来管理我的应用程序的多个子域。该应用程序使用相同的会话密钥和密钥,并且我相信我已经使用了正确的会话 cookie 设置:
cookie: {
path : '/',
domain : '.example.com',
httpOnly : false,
maxAge : 1000*60*60*24*30*12 //one year(ish)
}
我在常规站点上设置了一个会话变量,其中子域未定义,例如http://example.com http://example.com像这样:
req.session.rep_id = rep._id;
res.redirect('https://' + company.name + '.example.com/');
但是当我将它们重定向到 subdomain.example.com 时,会话没有将rep_id 键设置为任何内容。会话似乎正在子域之间重置。我该如何解决这个问题?
一些想法:
尝试删除句点.example.com
。我的想法是,您试图在根域上设置仅子域的 cookie。我已读到 cookie 设置为example.com
也将在所有子域上可用。
尝试不要立即将用户重定向到子域,首先验证 cookie 是否在您的根域上工作。检查服务器的响应标头,然后查看浏览器是否在下一个请求中保留了 cookie。仅当您确定其正常工作时,才导航到子域。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)