使用护照注册后登录用户

时间:2016-10-14 16:21:54

标签: javascript node.js mongodb express passport.js

用户注册后,我希望他们自动登录。我在线阅读使用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;

1 个答案:

答案 0 :(得分:1)

哦,我知道发生了什么。您在保存用户的回调之外进行res.redirect()。它可能在设置登录cookie之前重定向。

res.redirect()移动到res.login()回调中,你应该很好。