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?