我无法找到从哪里获取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但我还没有看到教程使用第一个。
答案 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.' }
}));