2013-10-13 42 views
2

我管理與passport.js會議失去了與passport.js

app.post('/login', passport.authenticate('local'), function(req, res) { 
     res.cookie('username', req.user.username); 
     res.redirect('/'); 
    }); 

登錄,但我會似乎失去之後。

app.post('/user/favorites', function(req, res) { 
    // `req.user` contains the authenticated user. 

    console.log(req.user); // Undefined 
    if(req.isAuthenticated()) { // false 
     console.log('HI'); 
    } 
}); 

回答

0

除了手動設置用戶的cookie,讓護照爲你做它

req.logIn(user, function(err) { 
    if (err) { return next(err); } 
    return res.redirect('/users/' + user.username); 
}); 

這個替換您的Cookie線。

來源:http://passportjs.org/guide/authenticate/(見定製的回調部分)

0

您已按照文件的指示,嘗試(如果尚未完成)

passport.serializeUser(function(user, done) { 
    done(null, user); 
}); 
passport.deserializeUser(function(user, done) { 
    done(null, user); 
});