【发布时间】:2021-01-25 19:38:52
【问题描述】:
我正在使用 express-session 和 MongoDbStore 来存储会话变量。 但是,在使用 vhost 实现子域之后,会话变量不会在子域之间共享。 我的会话配置如下
app.use(session({
secret: process.env.EXPRESS_SECRET,
cookie: {
path : '/',
domain : 'example.com',
httpOnly : false,
maxAge : 1000*60*60*24*7
},
store: store,
resave: false,
}))
示例虚拟主机代码:
app.use(vhost('login.example.com' , loginApp))
app.use(vhost('some.example.com' , someApp))
会话变量存储在 MongoDB 中,但每个子域都有不同的文档。 如何使这些会话变量对我的所有子域通用?
到目前为止我已经尝试过: 保持域为'.example.com',不包括路径参数,不包括域参数,不包括httpOnly参数,使用resave为true 但似乎没有任何效果 提前谢谢你
【问题讨论】:
-
根据npmjs.com/package/express-session#cookiedomain 看来,唯一的方法是从 cookie 中删除域,出于安全原因,我不确定这是否是个好主意
-
还是不行:/
标签: node.js express express-session session-store