nodejs - 完成护照回拨

时间:2017-10-04 10:26:34

标签: node.js jwt passport.js

我想知道在以下代码中回调做了什么。是从jwt有效负载中提取消息的方法吗?在这种情况下它会返回user吗?如果是这样,我该如何访问此返回的用户?它存放在哪里?

module.exports = function(passport) {  
  var opts = {};
  opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
  opts.secretOrKey = config.secret;
  passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
    User.findOne({id: jwt_payload.id}, function(err, user) {
      if (err) {
        return done(err, false);
      }
      if (user) {
        done(null, user);
      } else {
        done(null, false);
      }
    });
  }));
};

1 个答案:

答案 0 :(得分:1)

done是策略实现内部调用的方法。

然后它导航到三种方法之一,成功/错误/失败

这些选项中的每一个都可能会调用next

调用success时,它可以将用户附加到请求或执行其他操作,具体取决于您的需求

阅读以下链接以获得完整的理解:

https://github.com/jaredhanson/passport-local/blob/master/lib/strategy.js#L80