1

你好 Facebook 开发者社区,

我目前正在使用 HTML/JS 开发多人在线游戏。我只想允许用户注册游戏,我决定允许他们使用他们的 Facebook 帐户登录。我为此创建了一个 Facebook 网站应用程序。

但是当我fb:login在我的页面上设置一个按钮时,对话框不会询问我设置的权限(仅供参考:我只是在 Authenticated Referrals 部分配置它们)。

也许我需要在其他地方配置权限,但是使用新的身份验证对话框,我不确定我需要去哪里..

4

1 回答 1

2

经过身份验证的推荐对 的使用没有影响fb:login-button,它们旨在链接到您在 Facebook 本身上的应用程序。

要向用户请求权限,您应该使用Login Buttonscope的参数,这是请求和权限的简单示例(HTML5 和 XFBML):emailuser_location

<div class="fb-login-button" data-scope="email,user_location"></div>

<fb:login-button scope="email,user_location"></fb:login-button>

更新:
如评论中所述,这些属性可能很容易被“高级”用户操纵,以避免授予权限。无法指定将要求用户从应用程序设置授予哪些权限。这本身并不是一个真正的问题,因为经过身份验证的推荐人会遇到同样的问题,一旦用户看到身份验证步骤,他可能会将scope参数更改为他想要的任何内容。

实际上,您永远不应该信任来自用户的任何内容,因此您最好在他登录后通过查询 Graph API 检查授予的权限:

https://graph.facebook.com/me/permissions

如果缺少某些内容,这将返回用户授予您的应用程序的权限列表。

于 2012-04-22T00:16:07.300 回答