Промежуточное ПО для аутентификации паспорта не найдено - PullRequest
0 голосов
/ 06 июня 2018

У меня есть код базы ниже

passport.use(new LocalStrategy({
  usernameField: 'emailAddress',
  passwordField: 'password',
  passReqToCallback: true
},
 function(req,username, password, next) {
   var res =""; // this is the real issue, I don't know where to find res, or what should I initialize to re
   console.log('psprt val');
   userController.ValidateLogin(req,res,function(userDetails){
      req.user = userDetails;
      return next(null,userDetails);
    });
 }));

userController.ValidateLogin возвращает ошибку в формате, подобном

userController.ValidateLogin = function(req,res,userDetails) {
    return res.send({ Status:403, Msg: "Not allowed" });
}

Но он говорит, что res.send не является функциейкак есть res undefined, как отправить res, чтобы у меня было такое сообщение взамен

1 Ответ

0 голосов
/ 06 июня 2018

Вы не можете отправлять ответ от промежуточного программного обеспечения конфигурации (которое может использоваться только для конфигурации паспорта, где мы проверяем пользователя).Вам нужно аутентифицировать и подтвердить пользователя и вернуться обратно, следующий код может вам помочь,

userController.ValidateLogin = function(req,res,callback) {
    return callback({ Status:403, Msg: "Not allowed" });
}
...