Expressjs安全会话cookie

时间:2011-12-10 08:06:57

标签: javascript node.js express

我似乎找不到在expressjs框架中设置安全cookie的方法。有没有选择在某个地方这样做?

2 个答案:

答案 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,其中包含选项httpOnlysecureexpires等。path选项默认为应用的basepath设置,通常为"/"

有关详细信息,请参阅docs for res.cookie