Passport.js:如何避免序列化和反序列化用户?

时间:2015-02-03 05:43:44

标签: javascript angularjs passport.js

我正在使用Passport.js和Angular作为webapp。我想使用passport.js来帮助进行身份验证,但我没有使用会话。每当我授权用户时,我都会得到[Error: Failed to serialize user into session]

我尝试添加serializeUserdeserializeUser回调。这没有做任何事情,我仍然得到一个错误。

我是否必须包含passport-session并在会话中设置一些内容,以便让passport.js授权用户,或者我可以以某种方式设置serialize: false

1 个答案:

答案 0 :(得分:0)

为什么这是可能的!

来自documentation

  

在某些情况下,不需要会话支持。例如,API   服务器通常需要为每个服务器提供凭据   请求。在这种情况下,可以安全地禁用会话支持   将session选项设置为false。

app.get('/api/users/me',
  passport.authenticate('basic', { session: false }),
  function(req, res) {
    res.json({ id: req.user.id, username: req.user.username });
  });