在会话中更新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) }) })
- 重新加载页面时丢失cookie /会话
- 会话不能正确地从存储中获得,使用express-session和passportjs
- Passport-local-mongoose:注册后validation用户权限
- 无法发布来自Ionic应用程序的HTTP请求
- req.session.passport和req.user空,serializeUser和deserializeUser都不会被调用
- 在login表单中使用护照时得到不好的要求
- Passport本地策略完成callback不会传递错误json消息
- Nodejs Passportvalidationcallback没有被错误地调用
- Passport.js记得我的function