我正在试图了解Facebook身份验证在使用护照时是如何工作的--带有节点/快递的facebook。
我对callbackURL和下面的函数感到困惑。
有人能向我解释一下设置callbackURL之间的区别吗(这是成功登录尝试的结果吗?)和函数(accessToken,.)它似乎也是在登录后调用的。
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);
});
}
));发布于 2013-10-31 15:13:06
callbackURL是一个网址,facebook的网络服务器本身将在这个过程结束时使用。Facebook的服务器将发送301重定向响应,导致用户浏览器导航到此URL。因此,这本质上是一个配置选项,您要发送到facebook本身,而passport.js正在处理何时何地发送它的具体细节。当整个oauth舞蹈完成后,回调函数是护照将控制权交还给代码的一种方式,并说“嘿,看它成功了。这是登录用户的好东西”,这样您就可以执行findOrCreate了。该功能内部的细节通常每个应用程序都不同,而oauth舞蹈始终是相同的。这就是为什么护照在那里使用函数回调的原因。它允许您为特定于应用程序的或自定义逻辑提供一个挂钩。
https://stackoverflow.com/questions/19709643
复制相似问题