2013-04-16 77 views
1

我目前有一個mongoose/express/passportjs應用程序,可以成功登錄和註銷。但是,只有用戶標識存儲在會話中。我希望商店中的整個用戶對象。Passport.js - 在會話中存儲信息

這裏是我使用的代碼:

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

passport.deserializeUser(function(_id, done) { 
    done(null, { _id: _id }); 
}); 

偉大的作品,這是爲什麼我試圖序列整個用戶:

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

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

然而,它並不存儲與任何會話。

我在做什麼錯?

+0

這是不是一個真正的直接回答你的問題,但爲什麼用你deserializeUser方法{_id:_id}回調?通常你會在該方法中使用Mongoose查詢來根據傳入的_id從數據庫中查找對象。 –

回答

1

serializeUser你需要在整個用戶傳遞給done

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

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