【发布时间】:2015-01-06 23:52:06
【问题描述】:
我正在为我的 node.js/express 应用程序使用具有本地身份验证策略的 passport.js。
LocalStrategy 返回的用户包括电子邮件和用户名等内容。
我想让用户能够在应用中更新他们的电子邮件或用户名。发生这种情况时,我想告诉护照重新加载用户(类似于他们刚刚登录),以便 req.user 反映会话剩余部分的更新更改。简单地设置它似乎不会超过那个请求。
简化示例:
app.get('/changeEmail', function(req, res, next) {
var userId = req.user.id;
var origEmail = req.user.email;
var newEmail = req.param('email');
userDao.updateEmail(userId, newEmail, function(err) {
if (!err) {
// user's email has changed, need change reflected in req.user from this point on
req.user.email = newEmail;
}
next();
});
});
【问题讨论】:
标签: node.js session express passport.js