Express中跨子域的会话

我使用Express with Node中的vhostfunction来pipe理我的应用程序的多个子域。 该应用程序使用相同的会话密钥和密钥,我相信我已经使用了正确的会话cookie设置:

cookie: { path : '/', domain : '.example.com', httpOnly : false, maxAge : 1000*60*60*24*30*12 //one year(ish) } 

我在常规站点设置了一个会话variables,其中子域是未定义的,例如http://example.com,如下所示:

 req.session.rep_id = rep._id; res.redirect('https://' + company.name + '.example.com/'); 

但是当我将它们redirect到subdomain.example.com时,会话没有将rep_id键设置为任何值。 似乎会话正在重置子域之间。 我如何解决这个问题?

一些想法:

尝试从.example.com删除这段时间。 我的想法是,你试图设置一个只有子域的cookie,而仍然在根域。 我已经阅读过,在example.com上设置的cookie也可以在所有子域上使用。

尝试不要立即将用户redirect到子域,首先要validation该Cookie是否在您的根域中工作。 检查服务器的响应头,然后查看您的浏览器是否在下一个请求中保存了Cookie。 只有当你确定这是正常工作导航到子域。