用户注册后,我希望他们自动登录。我在网上阅读使用 req.login() 的方法,但它似乎不起作用。用户已添加到数据库中,但尚未登录。有人能给我指出正确的方向吗?
if(type == 'student'){
User.saveStudent(newUser, newStudent, function(err, user){
console.log('Student saved');
req.login(newUser, function(err) {
if (err) {
console.log(err);
}
})
})
} else {
User.saveInstructor(newUser, newInstructor, function(err, user){
console.log('Instructor saved');
req.login(newUser, function(err) {
if (err) {
console.log(err);
}
});
})
}
res.redirect('/classes');
}
});
module.exports = router;
最佳答案
哦,我明白发生了什么了。您正在保存用户的回调之外执行 res.redirect()
。它可能在设置登录 cookie 之前进行重定向。
将 res.redirect()
移至 res.login() 回调中,您应该就可以了。
关于javascript - 使用 Passport 注册后登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40047826/