我似乎找不到在expressjs框架中设置安全cookie的方法。有没有选择在某个地方这样做?
答案 0 :(得分:21)
如果您在代理后面,还必须确保它发送X-Forwarded-Proto
标题并设置代理选项:
app.use(express.session({
proxy: true,
secret: 'test',
cookie: {
secure: true
}
}));
或者,您可以告诉Express全球信任代理:
app.set('trust proxy', 1)
答案 1 :(得分:12)
根据documentation,试试这个:
res.cookie('rememberme', 'yes', { expires: new Date(Date.now() + 900000), httpOnly: true, secure: true });
使用res.cookie(name, val[, options])
将给定的Cookie名称设置为val
,其中包含选项httpOnly
,secure
,expires
等。path
选项默认为应用的basepath
设置,通常为"/"
。
有关详细信息,请参阅docs for res.cookie
。