2012-07-09 10 views
10

Korzystam z lokalnej strategii paszportowej do uwierzytelniania użytkowników. Podążyłem za przewodnikiem podanym przez Jareda Hansona i zainstalowałem connect-flash, aby przekazać metodę flash do obiektu req. Więc jeden z moich żądań koparki jest następujący:nodejs + paszport + ekspres 3.0 + connect-flash bez flashowania?

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

Po zalogowaniu użytkownik nie powiedzie się, to przekierowuje użytkownika do/login ponownie, ale to nie robi migać coś:/

UPDATE: używam MongoDB dla sesji Przechowywanie i widzę to:

> 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\"]}}" } 

Wiadomości są wstawiane do obiektu sesji, ale nie są wyciągane. Czy powinienem zrobić coś wyjątkowego?

Odpowiedz

24

Zakładam, że wyciągasz wiadomości i renderujesz je w widoku? Coś jak:

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

OK! Tak naprawdę tęskniłem za tym ... czuję się tak głupio! Dzięki Jared! – Dredok

+3

@Jared Utknąłem również w tej kwestii. Myślę, że byłoby to bardzo przydatne dla tego przykładu w dokumentach paszportowych. –

+3

Tak, ja też. Myślę, że byłoby miło mieć to w dokumentach. –

Powiązane problemy