callpassUrl和passport-facebook中的函数之间的区别

我试图找出当使用passport-facebook和node / express时,Facebook身份validation是如何工作的。

我对callbackURL和下面的函数感到困惑。

有人可以向我解释什么是设置一个callbackURL(这是一个成功的login尝试结束?和函数(accessToken,…),似乎也是在login后调用之间的区别。

感谢帮助我理解这个模块!

passport.use(new FacebookStrategy({ clientID: FACEBOOK_APP_ID, clientSecret: FACEBOOK_APP_SECRET, callbackURL: "http://localhost:3000/auth/facebook/callback" }, function(accessToken, refreshToken, profile, done) { User.findOrCreate({ facebookId: profile.id }, function (err, user) { return done(err, user); }); } )); 

callbackURL是Facebook的Web服务器自己将在过程结束时使用的URL。 Facebook的服务器将发送301redirect响应,导致用户的浏览器导航到这个URL。 所以这实质上是一个你自己发送给Facebook的configuration选项,而passport.js正在处理何时何地发送它的细节。 当整个oauth舞蹈完成时,callback函数是护照将控制权交还给你的代码的方式,并且说“嘿,看起来有效”,这是login用户的好东西,所以你可以做你的findOrCreate 。 这个函数里面的细节通常会根据应用程序的不同而变化,而oauth舞蹈总是一样的。 所以这就是护照在那里使用函数callback的原因。 它允许您为应用程序特定或自定义逻辑挂钩。