用于用户注册的googleapi oauth2.0+passport-nodejs express应用程序



我使用googleapisoauth2.0通过OAuth2.0在我的网站上进行用户注册。我得到了访问令牌和id令牌,并将新用户保存在我的数据库中,从那时起,我想创建一个用户会话,我正在尝试使用passport,但passport需要它的一个策略来实现,而我现在不需要它,因为我已经验证了用户电子邮件和所有内容,并将用户保存在我的数据库中。我现在所要做的就是创建用户会话并将用户发送到主页,但似乎没有办法只创建在CCD_ 5中没有策略的用户会话。

这是我的oauth2.0重定向函数,我可以在其中获得访问令牌等

router.get('/oauth-redirect', function (req, res, next) = > {
const data = await googleAuth.getToken(req.code);
const user = getUserInfoFrom(data);
const savedUser = save(user);
//here: use passport to create a session and send the user to home page ????

})

找到了实现这一点的方法,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');
});

})

最新更新