Express 3.0 e autenticação de passaporte

Estou usando [email protected] com [email protected] e usando o local srategy para autenticação.

Tudo parece funcionar bem e redireciona o sucesso e a falha corretamente

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

Mas se eu adicionar ensureAuthenticated na rota do perfil

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

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

ele me redireciona de volta para '/' (que é a página de login) em vez de '/ users / id' (perfil de usuário) após o login. O problema é que req.isAuthenticated () sempre retorna false e não há nenhuma variável req.user na depuração.

É problema com a expressa 3 e interação de passaporte ou eu fiz algo errado?

questionAnswers(4)

yourAnswerToTheQuestion