节点快递和护照记住我认证

时间:2014-05-28 13:24:02

标签: node.js cookies express passport.js remember-me

我正在考虑在我的节点应用程序上实现remember-me身份验证。我已经设法通过在我的快速会话中向我的cookie添加参数来使所有会话都有一个cookie。

app.use(express.session({
  secret: constants.session_secret,
  store: new MemcachedStore({
    hosts: [config.memcached.host + ':' + config.memcached.port]
  }),
  cookie: {
    maxAge: 300000, // <-- This line
    httpOnly: true
  }
}));

但是,我希望允许用户通过在登录页面上添加“记住我”复选框进行选择。

我非常感谢任何提示或文章,以便更好地了解如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

您可以随时更新会话。 app.use只是中间件,您可以在此之前声明一个以执行任何逻辑。

// any route function(req, res) or middleware

var hour = 3600000
req.session.cookie.expires = new Date(Date.now() + hour)
req.session.cookie.maxAge = hour

req.session.save(function(err) {
  // session saved
})

请参阅会话项目页面以获取更多信息https://github.com/expressjs/session