node.js - Passport : Facebook Login asking for user_friends permission by default

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

我正在构建一个使用 Passport 进行 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 应用程序登录审核政策 ( https://developers.facebook.com/docs/facebook-login/permissions ),询问 user_friends 需要 Facebook 应用程序审核流程。我不确定的是为什么当我不需要并且没有请求时它会自动请求 user_friends 权限。有什么想法吗?

最佳答案

它会自动请求“user_friends”权限,因为“user_friends”权限就像“public_profile”和“email”一样默认获得批准。这意味着您不必提出请求。但是,为了在您的应用程序上线时可用,您必须经过应用程序审核。因此,就像您的情况一样,您不需要它,只是不要将其提交给应用程序审核,并且当您的应用程序上线时,不会向用户请求它。

关于node.js - Passport : Facebook Login asking for user_friends permission by default,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163240/

相关文章:

ios - 如何让 FBFriendPickerViewController 显示所有 friend

javascript - 实体元数据未找到 : No metadata for "User" was found

node.js - 基于 Mongoose 中另外两个字段的第三个字段的计算

node.js - 如何在 express 中为 Handlebars 使用 .html 文件扩展名?

asp.net - Facebook 登录的新#access_denied (ASP.NET MVC)

php - 如何使用 Facebook API 获得有关新 friend 和已删除 friend 的通知?

javascript - 如何知道nginx是否正在压缩gzip?

javascript - 在使用 Facebook 登录过程中,为什么通过 AJAX 设置的 $_SESSION 变量不被识别为已设置?

Facebook graph api - 如何获取标记照片的数量

iphone - 在 iOS SDK 中发出请求,循环飞得太快