我设置了一个快速会话,以使用存储在数据库中的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处理的cookie,但是connect.sid从未保存。
编辑:所以我发现它与secure: true
有关,但是如果不需要,我不想禁用它。
我以为它与xhr.withCredentials有关,但是似乎并没有解决它,而且页面上还说它不会影响同一地点的请求,而这一直是我的。