Nodejs Сообщение о сбое паспорта не работает - PullRequest
0 голосов
/ 17 апреля 2020

У меня в приложении работает Passport Local.

Успешное завершение аутентификации, а неудачное - нет. Однако я пытаюсь улучшить его с помощью сообщений о сбоях и избегая действия.

Пробовал по паспортной документации.

Сообщения об ошибках по какой-то причине не появляются, буду признателен за помощь!

вот местная стратегия

// Configure the local strategy for use by Passport.
passport.use(new Strategy(
  function(username, password, cb) {
    db.users.findByUsername(username, function(err, user) {
      if (err) { return cb(err); }
      if (!user) { return cb(null, false,req.flash('message','Invalid username or password')); }
      if (user.password != password) { return cb(null, false,req.flash('message','Invalid username or password')); }
      return cb(null, user);
    });
  }));

Аутентификация

//Home
app.post('/home.ejs',
  passport.authenticate('local'),
  function(req, res) {
    res.redirect('/');
  });

У меня также есть другая попытка аутентификации, если это более точно, но также не повезло

  //Home
  app.post('/home.ejs', function( req, res, next) { passport.authenticate('local', function(err, user, info) {

            if (err) { return next(err);  req.flash('message','Invalid username or password') }

            if (!user) { return res.redirect('/');  failureFlash: 'Invalid username or password' }

            req.logIn(user, function(err) {
            if (err) { return next(err); }
              return res.redirect('/');

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

1 Ответ

0 голосов
/ 20 апреля 2020

Это должно быть

passport.use(new LocalStrategy ...

вместо вашего

passport.use(new Strategy(.....
...