2012-07-09 84 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