1

我目前有一个可以成功登录和注销的 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);
});

但是,它不存储任何会话。

我究竟做错了什么?

4

1 回答 1

1

serializeUser您需要将整个用户传递给done

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

passport.deserializeUser(function(user, done) {
  done(null, user);
});
于 2014-08-14T00:00:06.293 回答