问题描述
我正在通过googleapis
使用OAuth2.0
oauth2.0在我的网站上进行用户注册。我到达获取访问令牌和ID令牌并将新用户保存在数据库中的地步,从那时起,我想创建一个用户会话,并且尝试使用passport
,但是{{ 1}}需要执行其中一种策略,这是我现在不需要的策略,因为我已经验证了用户电子邮件和所有内容,并将用户保存在数据库中,现在我要做的就是创建用户会话并发送用户进入主页,但是似乎没有办法passport
中没有策略就创建用户会话。
这是我的oauth2.0重定向函数,可在其中获取访问令牌等。
passport
解决方法
找到了实现的方法,护照显示了req.login()函数,您可以使用该函数手动登录用户。
router.get('/oauth-redirect',function (req,res,next) = > {
const data = await googleAuth.getToken(req.code);
const user = getUserInfoFrom(data);
const savedUser = save(user);
//this below is what will create a session and will set connect.sid cookie
req.login(savedUser,function(err) {
if (err) {
console.log(err);
}
return res.redirect('/home');
});
})