【发布时间】:2019-06-28 12:24:40
【问题描述】:
我设置了一个快速会话以使用存储在数据库中的 cookie。这在 Firefox 中完美运行,但它似乎永远不会保存 cookie,因此客户端永远不会反映会话。
app.use(expressSession({
secret: data[0],
cookie: {
httpOnly: false,
secure: true,
maxAge: 14 * 24 * 60 * 60 * 1000, //14 days
},
store: new connectMongo({mongooseConnection: mongoose.connection}),
resave: false,
saveUninitialized: false,
}));
在 Firefox 中,它肯定会将 cookie 保存为 connect.sid,并在页面加载之间保存数据:
在 chrome 中,它保存了我的一些浏览器端设置的 cookie,例如分析和我用 javascript 做的那些,但 connect.sid 永远不会保存。
编辑:所以我发现它与secure: true 有关,但如果我不需要,我不想禁用它。
我认为它与 xhr.withCredentials 有关系,但这似乎并没有解决它,而且页面上说它不会影响同站点请求,我的总是这样。
【问题讨论】:
-
您找到解决问题的方法了吗?
标签: node.js express session cookies express-session