我有一个/register
用于注册用户的路由器。我现在使用cookie-session
(类似的)而不是express-session
为了简单。
我被困在需要在注册时对用户进行身份验证的部分。req.sessions.save()
我对and的功能感到困惑req.login()
。我知道req.login()
是由 passport.js 提供的,但我不明白是哪一个提供了 req.session 对象。
我是 passport.js 的新手,并且已经广泛阅读了大量文章、视频和 StackOverflow 问题来积累我的知识。老实说,到目前为止,护照文件一直很痛苦。我仍然对注册时的会话启动应该如何工作感到困惑。许多文章跳过了注册部分。因此,我请求有关如何做到这一点的帮助。
router.post('/register', (req, res, next) => {
console.log(req.body)
User.findOne({email: req.body.email}).then((currentUser) => {
if(currentUser){ // already exists
res.render('login')
} else { // if not, create user in our db
new User({
email: req.body.email
}).save().then((newUser) => {
passport.authenticate('local')(req, res, () => {
//>>>> //**This is where I don't know what to do**
req.session.save((err) => {
if (err) {
return next(err)
}
res.redirect('http://localhost:3000')
})
})
});
}
});
})