Nodejs Passport失败消息不起作用

时间:2020-04-17 16:42:43

标签: javascript java node.js authentication passport.js

我的应用程序正在使用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 :(得分:0)

应该是

passport.use(new LocalStrategy ...

代替您的

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