我已经实施了npm护照链接社交登录,它运行正常。但是,如果用户取消授权,他们也会取消在linkedin网站上的登录。然后它回到我的网站,但显示500错误。
但是作为他们的文档,它应该回到提供失败的URL。遵循我的失败和成功回调代码。
app.get('/auth/linkedin/callback', passport.authenticate('linkedin', {
failureRedirect: '/login'
}), (req, res) => {
//here success login goes.
});
答案 0 :(得分:1)
在搜索了几天之后,我找到了问题的解决方案:
app.get('/auth/linkedin/callback', (req, res, next) => {
passport.authenticate('linkedin', (err, user, info) => {
if (err) {
// failureRedirect
return res.redirect('/signin');
}
if (!user) {
// failureRedirect
return res.redirect('/signin');
}
req.login(user, (err) => {
if (err) {
return next(err);
}
// successRedirect
res.redirect('/profile');
});
})(req, res, next);
});
答案 1 :(得分:0)
我认为Passport-oauth2模块中的问题和user_cancelled_login错误无法处理。您可以删除该模块并在安装模块之后粘贴此https://github.com/anuraggu/passport-oauth2.git链接package.json文件