0

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

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

重定向部分工作正常,但用户输入无效用户/传递的 flash 消息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

4

1 回答 1

0

您可以通过req.flash('error')(默认)获取消息

您也可以使用自定义消息名称传递 failureFlash 对象,如下所示:

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

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

于 2016-08-09T11:42:10.070 回答