nodejs - 护照完成回拨

nodejs - 护照完成回拨

问题描述:

我想知道在下面的代码中做过回拨操作。它是从jwt有效载荷中提取消息的方式吗?在这种情况下它会返回user吗?如果是这样,我怎样才能访问这个返回的用户?它存储在哪里?nodejs - 护照完成回拨

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); 
     } 
    }); 
    })); 
}; 

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

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

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

success被调用时,它可以将用户连接到请求或做其他事情,这取决于你的需求

阅读下面的链接,一个全面的了解:

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

+0

谢谢@凯文红。但是我怎样才能访问传递给成功的'user'参数? –

+0

我的意思是,你正在使用done(null,user)。这就是所谓的成功方法。一旦成功,您就可以获得用户。在其他情况下,说错误,你传递一个错误的方法。如果它的有用和完整请注册并将此帖标记为完整 –