在ExpressJS中设置二级域名跨域共享Cookie

问题:我使用expressjs和mongostore来管理session。下面是expressjs中的设置。

  1. app.configure(function(){
  2.     app.use(express.session({
  3.         secret: conf.secret,
  4.         maxAge: new Date(Date.now() + 3600000),
  5.         cookie: { path: ‘/‘ },
  6.         store: new MongoStore(conf.db)
  7.     }));
  8. });

我已经在上面设置了cookie路径。但是它还是把Cookie设置到了子域名 sub.domain.com 中。 如何将其设置到主域名 .domain.com 中?

回答: 这样设置即可。

  1. app.use(express.session({
  2.     secret: conf.secret,
  3.     cookie: { domain:‘.yourdomain.com‘},
  4.     store: new MongoStore(conf.sessiondb)
  5. }));

注* 使用数据库mongostore来集中管理session,并在各个子域名跨域共享Cookies (SessionID),即可实现为每一个子域分配一个独立的node.js Web服务器,可以实现一定程度上的负载均衡。

转http://www.nodejs.net/a/20150116/225656.html

原文地址:https://www.cnblogs.com/zhishaofei/p/4311755.html