【发布时间】:2020-11-09 06:20:15
【问题描述】:
我正在尝试在 Heroku 上运行的快速应用程序上设置安全 cookie。我在会话配置中尝试了app.set('trust proxy', true) 和设置proxy: true。在这两种情况下,一旦使用 SSL 证书部署到 Heroku,cookie 就无法修改。
其他事情:我从来没有在会话中实现resave = true,因为 mongo-connect 有一个 touch 方法。
userSessionStore = new MongoDBStore({
url: 'foo',
collection: 'bar',
touchAfter: 3600,
});
const sess = {
secret: process.env.SESSION_SECRET,
name: 'name',
resave: false,
saveUninitialized: true,
cookie: {
maxAge: 1 * 24 * 60 * 60 * 1000
},
store: userSessionStore
};
if (process.env.NODE_ENV === 'production') {
sess.cookie = {
secure: true,
httpOnly: true,
domain: baseURL
};
}
app.use(session(sess));
if (process.env.NODE_ENV === 'production') {
app.set('trust proxy', true);
}
【问题讨论】:
标签: heroku cookies express-session