Express 3.0 und Passport-Authentifizierung
Ich verwende [email protected] mit [email protected] und verwende die lokale Strategie für die Authentifizierung.
Alles scheint in Ordnung zu sein und es wird korrekt auf Erfolg und Misserfolg weitergeleitet
app.post('/login', passport.authenticate('local', { failureRedirect: '/' }),
function(req, res) {
console.log(req.isAuthenticated()); // true
res.redirect('/users/' + req.user.id );
});
Aber wenn ich auf der Profilroute sureAuthenticated hinzufüge
app.get('/users/:id', ensureAuthenticated, routes.user);
function ensureAuthenticated(req, res, next) {
console.log(req.isAuthenticated()); // false
if (req.isAuthenticated()) { return next(); }
res.redirect('/');
}
es leitet mich nach der Anmeldung zurück zu '/' (das ist die Anmeldeseite) anstelle von '/ users / id' (Benutzerprofil). Das Problem ist, dass req.isAuthenticated () immer false zurückgibt und keine req.user-Variable im Debug vorhanden ist.
Ist es ein Problem mit Express 3 und der Interaktion mit dem Pass oder habe ich etwas falsch gemacht?