2016-08-09 65 views
0

Ich verwende Passport-Authentifizierung mit "lokalen" Strategie für meine Anwendung. Ich möchte, dass der Benutzer wissen kann, ob der vom Benutzer eingegebene Benutzername und das Passwort ungültig sind und, falls gültig, dann zum Dashboard umleiten. Dies ist, wie ich den Benutzer am Authentifizierung:Abfangen Flash-Nachricht

router.post('/login', passport.authenticate('local', {failureRedirect: '/login', failureFlash: 'Invalid username or password.'}), function(req, res, next){ 
    res.redirect('/users/dashboard'); 
}); 

Redirect Teil funktioniert gut, aber der Benutzer gibt ungültige Benutzer/die Flash-Mitteilung in failureFlash: 'Invalid username or password.' dosent zeigen passiert auf der Anmeldeseite auf. Dies ist, wie ich meine Login-Route handhaben:

router.get('/login', function(req, res, next) { 
    res.render('pages/login', {'title' : 'VoteCenter - Login', message: req.flash('message')}); 
}); 

Was mache ich in req.flash('??????') verwenden müssen Sie das Flash-mesaage von failureFlash kommen abzufangen?

+0

Mögliche Duplikat [How Flash-Nachrichten in Express 4.0 senden?] (http://stackoverflow.com/questions/23160743/how-to-send-flash-messages-in-express-4-0) –

Antwort

0

Sie können Mitteilung durch req.flash('error') (default) erhalten

auch können Sie failureFlash Objekt mit Ihrem eigenen Nachricht Namen wie es passieren:

failureFlash: { type: 'authError', message: 'Invalid username or password.'} 

dann bekommen Nachricht req.flash('authError')

+0

das ist genau das, was ich gesucht habe. Arbeitete für mich. –