我正在开发一个应用程序,其中用户使用他们的Facebook帐户登录,但只有系统管理员之前输入的Facebook个人资料。
换句话说,系统管理员输入了一堆Facebook个人资料,当用户尝试登录我的应用程序时,系统会检查是否有该Facebook个人资料的记录。
我曾经使用用户的Facebook用户名进行此操作,因为管理员可以从Facebook个人资料的URL轻松获取该信息,并且Facebook在用户登录时提供了该用户名。这在Graph API 2.0中是不可能的,因为Facebook不再提供用户名字段。
那么你们对系统管理员如何轻松识别用户有任何建议吗?那么他们会被授权访问我的应用程序?
答案 0 :(得分:0)
@WizKid是对的,使用用户的电子邮件是执行此操作的最佳方式。任何用户都可以登录,但是您可以建立检查以查看该用户的电子邮件是否在您预先批准的"名单。
要获取用户的电子邮件地址,您需要使用scope
参数在登录对话框中询问他们。在JS SDK中,它看起来像这样:
FB.login(function (response) {
// handle response
}, { scope: "email" }); // <<< the important bit
注意:使用新的“图谱2.0登录”对话框,用户可以选择不在“&#34;编辑您提供的信息”中选择不提供电子邮件地址。对话框的一部分。因此,您需要仔细检查用户是否确实提供了他们的电子邮件地址。