如果用户取消登录,NPM护照linkedin登录显示500

时间:2018-01-10 14:46:25

标签: node.js npm passport.js passport-linkedin

我已经实施了npm护照链接社交登录,它运行正常。但是,如果用户取消授权,他们也会取消在linkedin网站上的登录。然后它回到我的网站,但显示500错误。

但是作为他们的文档,它应该回到提供失败的URL。遵循我的失败和成功回调代码。

app.get('/auth/linkedin/callback', passport.authenticate('linkedin', {
  failureRedirect: '/login'
  }), (req, res) => {
 //here success login goes.
});

还附上错误截图。 500 Error, When user cancel the login on linkedin website

2 个答案:

答案 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文件