短信护照本地-mongoose

时间:2016-08-26 07:17:35

标签: node.js mongoose passport-local

我无法找到从哪里获取Flash消息

router.get('/login', function(req, res) {
    res.render('login', { 
        user : req.user,
        failureMessage : req.flash('fail')
    });
});

router.post('/login', passport.authenticate('local', {
    successRedirect : '/dashboard',
    failureRedirect : '/login',
    failureFlash : true,
}), function(req, res) {
    // none of this will run right?
});

我正在渲染一个登录页面,当用户提交数据时,它会转到passport.authenticate中间件,它会处理其余部分,而无需进行额外的回调,因此如何获取flash消息以便我可以显示它重定向回/登录页面?

另一个问题是我是否应该这样做

passport.use(User.createStrategy());

passport.use(new LocalStrategy(User.authenticate()));

文档告诉我使用第一个:https://github.com/saintedlama/passport-local-mongoose#simplified-passportpassport-local-configuration但我还没有看到教程使用第一个。

1 个答案:

答案 0 :(得分:0)

了解如何处理Flash消息。看起来应该这样做。

router.get('/login', function(req, res) {
    res.render('login', { 
        user : req.user,
        error : req.flash('error')
    });
});

router.post('/login', passport.authenticate('local', {
    successRedirect : '/dashboard',
    failureRedirect : '/login',
    failureFlash : { type: 'error', message: 'Invalid username or password.' }
}));