passport.js:记住我不能在快速应用程序中工作

我在我的申请中实施了护照本地策略。 现在我要实现记住我的function:

app.use(passport.initialize()); app.use(passport.session()); app.post("/login", function (req, res, next) { var authFunction = passport.authenticate("local", function (err, user, info) { if (err) { next(err); } else { req.logIn(user, function (err) { if (err) { next(err); } else { if (req.body.remember) { req.session.cookie.originalMaxAge = 2592000000; } else { req.session.cookie._expires = false; } res.redirect("/"); } }); } }); authFunction(req, res, next); }); 

正如你所看到的,我设置了originalMaxAge ,但是当我closures并再次打开浏览器时,它不起作用。
任何想法?

从连接文档 :

活动#cookies

每个会话都有一个唯一的cookie对象。 这允许您为每个访问者更改会话cookie。 例如,我们可以将req.session.cookie.expires设置为false,以使cookie仅保留在用户代理期间。

活动#MAXAGE

或者,req.session.cookie.maxAge将返回剩余的时间(以毫秒为单位),我们也可以重新分配一个新值来适当调整.expires属性。 以下基本相同

根据这个,你必须设置expiresmaxAge属性:

 if (req.body.remember) { var oneHour = 3600000; req.session.cookie.expires = new Date(Date.now() + hour); req.session.cookie.maxAge = hour; } else { req.session.cookie.expires = false; }