cal*_*tie 22 node.js express passport-local passport.js
我正在使用PassportJS和ExpressJS.
我需要更新登录的用户详细信息.虽然我在数据库中更新了这个,但是如何在会话中更新它,以便request.user包含更新的用户详细信息?
也就是说,在更新数据库之后,如何更新用户的会话信息?
我尝试直接分配更新的详细信息,request.user但它没有用.然后我尝试了request.session.passport.user- 这有效但是在request.user中更新之前还有大约5到10秒的延迟.
是否需要调用一个函数来更新存储在会话中的用户信息?或者是否有一些其他对象我可以更新,其中更改没有延迟
chi*_*tte 31
我也一直在寻找答案.在任何文档或教程中都没有提到过!
似乎有用的是,在保存新更新的用户后,执行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)
})
})
Run Code Online (Sandbox Code Playgroud)
线索在这里... https://github.com/jaredhanson/passport/issues/208
| 归档时间: |
|
| 查看次数: |
7726 次 |
| 最近记录: |