Passport配置会话是否可选?

时间:2016-06-28 04:39:48

标签: node.js express passport.js pg passport-local

我在其他地方寻找过这个答案,但我没有找到任何答案。

有关配置的护照文档:http://passportjs.org/docs/configure表示'会话'部分是可选的。在文档的后面,它还在提到持久登录会话时暗示了这一点:

  

如果您的应用程序使用持久登录会话,passport.session()   中间件也必须使用。

我知道大多数真实世界的应用程序都需要持久会话,但出于学习目的,我正在尝试逐步构建它并希望登录工作并重定向到成功页面而不需要护照试图序列化我的用户。

目前,我有错误的密码和错误的用户名正确地重定向到失败页面。当我输入正确的凭据并在数据库中找到用户时,我不会重定向到成功页面。相反,我收到以下错误:

Error: Failed to serialize user into session

我知道添加以下内容可以解决问题:

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

passport.deserializeUser(function(id, done) {
  User.findById(id, function(err, user) {
    done(err, user);
  });
});

如何配置护照以不序列化我的用户?这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

如果您在调用public static void main( String[] args )时未明确disable session support,则会收到该错误。