护照:默认情况下,Facebook登录名要求user_friends许可

时间:2018-07-03 21:50:43

标签: node.js facebook facebook-graph-api passport.js passport-facebook

我正在构建一个使用护照进行Facebook登录的Node js应用程序。我正在按照https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/上的说明来构建流程。

除了“电子邮件”和“ public_profile”之外,我的应用不需要任何权限,并且我使用的是以下默认身份验证:

app.get('/auth/facebook', passport.authenticate('facebook'));

但是,弹出的Facebook登录对话框默认情况下会添加“朋友列表”(请参见下面的屏幕截图)。

enter image description here

我还尝试了显式添加以下两个默认权限:

app.get('/auth/facebook', passport.authenticate('facebook'), {
        scope: ['email', 'public_profile']
    });

但是,由于某种原因,仍在请求(或提供'user_friends')许可。根据Facebook App登录审核政策(https://developers.facebook.com/docs/facebook-login/permissions),要求user_friends需要Facebook App审核流程。我不确定的是为什么它在我不需要和不要求时会自动要求user_friends权限。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

它会自动请求“ user_friends”权限,因为默认情况下会像“ public_profile”和“ email”一样批准“ user_friends”权限。这意味着您不必请求它。但是,要使其在您的应用程序上线时可用,您必须进行应用程序审查。因此,就像您的情况一样,您不想要它,只是不要将其提交给App评论,并且当您的应用上线时,也不会向用户请求。