res.redirect不在护照功能内工作

时间:2018-03-07 09:55:48

标签: node.js login passport.js passport-local

在我的登录模块中输入所有细节后,我使用的是passport.js,如果细节正确则返回用户值。

在我的route.js

app.post('/verifyotp', function (req, res, next) {
        passport.authenticate('local-otplogin', function (err, user, info) {
            if (err)
            {                        
            return next(err); }
            if (user) {
                console.log("user is there")
                req.logIn(user, function (err) {
                    console.log("req.logIn")
                    if (err) { 
                        console.log("err")
                        return next(err); 
                    }
                    console.log("No err") //Printing this value
                    console.log(req.user)

                    mongo.user.findOneAndUpdate({ '_id': user._id }, { 'log_count': 0 }, { upsert: true }, function (err, response) {
                    });
                    return res.redirect('/dashboard'); // but redirect is not happening

                });
            }
        })(req, res, next);
    });

我也得到了req.user值,但没有重定向到仪表板。

我的代码有错误吗?

1 个答案:

答案 0 :(得分:0)

控制台中显示的是什么?

你确定你没有输入没有错误但没有定义用户的情况吗?

passport.authenticate('local-otplogin', function (err, user, info) {

   if(err)
   {
     console.log("An error occured");
   }
   else if(user)
   {
      console.log("user authenticated");
   }
   else
   {
      console.log("No error but user not found");
   }