express 3.0 i uwierzytelnienie paszportowe

Używam [email protected] z [email protected] i używam lokalnej strategii do uwierzytelniania.

Wszystko wydaje się działać dobrze i poprawnie przekierowuje sukces i porażkę

app.post('/login', passport.authenticate('local', { failureRedirect: '/' }),
function(req, res) {
  console.log(req.isAuthenticated()); // true
  res.redirect('/users/' + req.user.id );
});

Ale jeśli dodam sureAuthenticated na trasie profilu

app.get('/users/:id', ensureAuthenticated, routes.user);

function ensureAuthenticated(req, res, next) {
  console.log(req.isAuthenticated()); // false
  if (req.isAuthenticated()) { return next(); }
  res.redirect('/');
}

przekierowuje mnie z powrotem do '/' (która jest stroną logowania) zamiast '/ users / id' (profil użytkownika) po zalogowaniu. Problemem jest req.isAuthenticated () zawsze zwraca false i nie ma zmiennej req.user w debugowaniu.

Czy problem dotyczy ekspresowej 3 i interakcji z paszportem, czy coś było nie tak?

questionAnswers(4)

yourAnswerToTheQuestion