Expressjs安全会话cookie

geo*_*per 13 javascript node.js express

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

dgr*_*sen 22

如果您在代理后面,还必须确保它正在发送X-Forwarded-Proto标头并且您设置了代理选项:

app.use(express.session({
  proxy: true,
  secret: 'test',
  cookie: {
    secure: true
  }            
}));
Run Code Online (Sandbox Code Playgroud)

或者,您可以告诉Express全局信任代理:

app.set('trust proxy', 1)
Run Code Online (Sandbox Code Playgroud)


小智 14

根据文档,试试这个:

res.cookie('rememberme', 'yes', { expires: new Date(Date.now() + 900000), httpOnly: true, secure: true });
Run Code Online (Sandbox Code Playgroud)

使用res.cookie(name, val[, options])套定的cookie的名字val,与期权httpOnly,secure,expirespath选项默认为应用程序的basepath设置,这是典型的"/".

有关详细信息,请参阅文档res.cookie.