允许nodejs会话转移到子域

时间:2015-02-23 21:59:53

标签: javascript node.js redis passport.js

我正在努力理解nodejs中的会话,我在同一个端口上有一个子域,但我必须再次登录。

我想知道如何配置nodejs来共享同一个会话,我使用passportjs来记录用户。

我尝试过使用redis,但它不起作用,我不明白。

app.use(session({ 
  secret: "something", 
  domain: '.app.localhost',
  store : new RedisStore({
    host: '.app.localhost',
    port : 9200 ,
    client: redisClient
  }),
  cookie : {
    maxAge : 604800 // one week
  }
}));

如何让我的子域app.localhost与localhost共享相同的登录会话?

1 个答案:

答案 0 :(得分:0)

假设您必须使用express-session包。如何挂载系统cookes指的是域名就是这个。

app.use(session({ 
  secret: "something", 
  // domain: '.app.localhost', <-- This Don't put into the cookie
  store : new RedisStore({
    host: '.app.localhost',
    port : 9200 ,
    client: redisClient
  }),
  cookie : {
    maxAge : 604800 // one week
    domain: 'app.localhost', //<-- This put into the cookie the domain
  }
}));