拦截闪讯

Intercepting flash message

我正在为我的应用程序使用具有 'local' 策略的 Passport 身份验证。我希望用户能够知道用户输入的用户名和密码是否无效,如果有效则重定向到仪表板。 这就是我对用户进行身份验证的方式:

router.post('/login', passport.authenticate('local', {failureRedirect: '/login', failureFlash: 'Invalid username or password.'}), function(req, res, next){
    res.redirect('/users/dashboard');
});

重定向部分工作正常,但用户输入无效 user/pass failureFlash: 'Invalid username or password.' 中的闪现消息显示在登录页面上。 这就是我处理登录路径的方式:

router.get('/login', function(req, res, next) {
  res.render('pages/login', {'title' : 'VoteCenter - Login', message: req.flash('message')});
});

我需要在 req.flash('??????') 中使用什么来拦截来自 failureFlash 的 flash 消息?

您可以通过req.flash('error')(默认)

获取消息

您也可以像这样使用自定义消息名称传递 failureFlash 对象:

failureFlash: { type: 'authError', message: 'Invalid username or password.'}

然后收到消息req.flash('authError')