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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage