Passport.js失败消息未出现

时间:2020-04-18 14:16:00

标签: node.js authentication heroku passport.js passport-local

我已经进行了passport.js身份验证,它接受正确的凭据,而不是错误的。

我正在尝试显示一条弹出消息,提示输入不正确的凭据。

尝试了很多尝试,并按照文档进行操作,但无法使其正常工作。 似乎其中没有太多,但不能完全正确。

设置策略

var flash = require('connect-flash');

var app = express();
app.use(flash());

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, { message: 'Incorrect password.' } ); }
      if (user.password != password) { return cb(null, false, { message: 'Incorrect password.' }); }
      return cb(null, user);
    });
  }));

身份验证-发布并获取

//Log In Post request
app.post('/login.post',
  passport.authenticate('local', { successRedirect: '/home',
                                   failureRedirect: '/',
                                   failureFlash: 'Invalid log in, please try again' })
);


//Home route
app.get('/home', //Log in Home
  function(req, res) {
   res.render('home', { user: req.user });
 });

2 个答案:

答案 0 :(得分:1)

尝试一下:

// Login Process
router.post("/login", (req, res, next) => {
  passport.authenticate("local", {
    successRedirect: "/",
    failureRedirect: "/auth/login",

    failureFlash: true
  })(req, res, next);
});

致电(req, res, next);很重要,否则整个过程就会卡在这里。

答案 1 :(得分:0)

也许是这样吗?

'driver.AddArgument "--user-data-dir=C:\Users\user1\AppData\Local\Google\Chrome\User Data"