【发布时间】:2016-11-23 11:47:22
【问题描述】:
我在下面有一个场景
在浏览器上,我打开一个网站,在通过系统验证后(即 access.abc.com)我得到一个 cookie,并将其设置在客户端上,即域为 .abc.com 的 connect.sid
在同一个浏览器上,我打开另一个网站,即 xyz.abc.com,它也生成会话 cookie(在从同一个即 access.abc.com 获得身份验证后),名称相同,但域与 xyz.abc 不同。 com(基本上这个网站就是这样设置的)
现在,如果我向 xyz.abc.com 上的任何 api 发送请求,我会看到 2 connect.sid 正在运行。
我的问题是当 xyz.abc.com 发送请求时 access.abc.com 的 express-session 会选择哪个 cookie?
以下是 access.abc.com 上的快速会话设置
var RedisStore = require('connect-redis')(expressSession);
var session = expressSession({
key: 'connect.sid',
store: new RedisStore({host: config.session_redis.host,
port: config.session_redis.port,
ttl: 2*24*60*60 //in secs
}),
resave: false,
saveUninitialized: false,
secret: '234567',
cookie: {
domain: '.abc.com',
maxAge: 2*24*60*60*1000 // in ms
}
});
【问题讨论】:
标签: node.js express express-session