2012-07-09 85 views
10

我正在使用护照本地策略来验证用户身份。我遵循了Jared Hanson给出的指导,并安装了连接闪光灯,以便为req对象提供flash方法。所以我请求处理程序之一是:nodejs +护照+快递3.0 +连接闪光灯不闪烁?

app.post('/login',        
     passport.authenticate('local', {   
      successRedirect: '/'     
     , failureRedirect: '/login'    
     , successFlash: 'Bienvenido'    
     , failureFlash: 'Credenciales no válidas'        
     })           
); 

当用户登录失败,则再次将用户/登录重定向但它不闪任何东西:/

更新: 我使用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\"]}}" } 

所以消息插入会话对象,但他们不拔出。我应该做一些特别的事吗?

回答

24

我假设你将消息拉出来并将它们呈现在视图中?例如:

app.get('/login', function(req, res){ 
    res.render('login', { message: req.flash('error') }); 
}); 
+0

好的!我实际上错过了这个......我觉得很愚蠢!谢谢Jared! – Dredok 2012-07-12 09:45:32

+3

@Jared我也陷在这个问题上。我认为这对护照文件中的这个例子非常有帮助。 – 2012-11-01 02:32:10

+3

我也是,我认为在文档中有这个很好。 – 2013-03-07 08:18:14