我目前有一个mongoose / express / passportjs应用程序,我可以成功登录和退出。但是,只有用户ID存储在会话中。我想存储整个用户对象。
以下是我使用的代码:
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 :(得分:1)
在serializeUser
中,您需要将整个用户传递给done
:
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(user, done) {
done(null, user);
});