2012-07-09 10 views
10

私はパスポート - ローカル戦略を使用してユーザーを認証しています。私は、Jared Hansonによって与えられたガイドに従って、reqオブジェクトにフラッシュメソッドを与えるためにconnect-flashをインストールしました。だから私の要求ハンドラの一つは次のとおりです。nodejs +パスポート+ express 3.0 + connect-flash no flashing?

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

ユーザーのログインに失敗した場合、それは再び/ログインにユーザーをリダイレクトしますが、それは何かを点滅doesntの:/

UPDATE: 私はセッションのために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

私は実際にこれを逃した...私はとても愚かな気がする!ありがとうございました! – Dredok

+3

@Jared私もこの問題に立ち往生してしまった。私はパスポートの文書でこの例に本当に役立つだろうと思う。 –

+3

私もそうです。私はこれをドキュメントに入れていいと思います。 –

関連する問題