Dre*_*dok 10 connect node.js express passport.js
我正在使用护照本地策略来验证用户身份.我按照Jared Hanson给出的指南安装了connect-flash,以便为req对象提供flash方法.所以我的一个请求处理程序如下:
app.post('/login',
passport.authenticate('local', {
successRedirect: '/'
, failureRedirect: '/login'
, successFlash: 'Bienvenido'
, failureFlash: 'Credenciales no válidas'
})
);
Run Code Online (Sandbox Code Playgroud)
当用户登录失败时,它会再次将用户重定向到/ login,但它不会闪现任何东西:/
更新:我使用mongodb进行会话存储,我看到了这个:
> db.sessions.find()
{ "_id" : "qZ2eiTnx6r9LR25JOz/TGhiJ", "session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"passport\":{\"user\":\"4ffb5b5db9cc16b615000001\"},\"flash\":{\"error\":[\"Credenciales no válidas\"],\"success\":[\"Bienvenido\"]}}" }
Run Code Online (Sandbox Code Playgroud)
因此,消息将插入到会话对象中,但不会将其拉出.我应该做些特别的事吗?
Jar*_*son 24
我假设你把消息拉出来并在视图中呈现它们?就像是:
app.get('/login', function(req, res){
res.render('login', { message: req.flash('error') });
});
Run Code Online (Sandbox Code Playgroud)