用户注册后使用护照登录

Logging in users after they register using passport

本文关键字:登录 用户注册      更新时间:2023-09-26

用户注册后,我希望他们自动登录。我在网上阅读使用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()回调中,应该就可以了。