gpt4 book ai didi

node.js - 护照-facebook中的callbackUrl和函数之间的区别

转载 作者:太空宇宙 更新时间:2023-11-03 23:09:43 25 4
gpt4 key购买 nike

我正在尝试了解在使用 Passport-facebook 和 Node/express 时 Facebook 身份验证如何工作。

我对回调URL 和下面的函数感到困惑。

有人可以向我解释一下设置回调URL(这是成功登录尝试结束的地方吗?和函数(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);
});
}
));

最佳答案

callbackURL 是 facebook 网络服务器本身将在流程结束时使用的 URL。 Facebook 的服务器将发送 301 重定向响应,导致用户的浏览器导航到此 URL。因此,这本质上是您发送给 facebook 本身的一个配置选项,而 Passport.js 正在处理发送它的时间和地点的细节。当整个 oauth 舞蹈完成后,回调函数是护照将控制权交还给您的代码的一种方式,并说“嘿,看起来它起作用了。这是登录用户的好东西”,因此您可以执行您的 查找或创建。该函数内部的细节通常因应用程序而异,而 oauth 舞蹈始终相同。这就是护照在那里使用函数回调的原因。它允许您 Hook 特定于应用程序或自定义逻辑。

关于node.js - 护照-facebook中的callbackUrl和函数之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19709643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com