在会话中更新login的用户详细信息

ExpressJS使用PassportJS。

我需要更新login的用户的详细信息。 虽然我在数据库中进行更新,但是如何在会话中更新它,以便request.user包含更新的用户详细信息?

也就是说,在更新数据库之后,如何更新用户的会话信息呢?

我试着直接分配更新的细节request.user但它没有工作。 然后我尝试request.session.passport.user – 这工作,但有一个约5至10秒的延迟之前,它在request.user更新。

是否有我需要调用的函数更新会话中存储的用户信息? 还是有一些其他的对象,我可以更新的地方没有延迟的变化

我也一直在寻找答案。 在任何文档或教程中从未提及!

什么似乎工作是,保存你最近更新的用户,做req.login(user)

 // "user" is the user with newly updated info user.save(function(err) { if (err) return next(err) // What's happening in passport's session? Check a specific field... console.log("Before relogin: "+req.session.passport.user.changedField) req.login(user, function(err) { if (err) return next(err) console.log("After relogin: "+req.session.passport.user.changedField) res.send(200) }) }) 

线索在这里… https://github.com/jaredhanson/passport/issues/208