Facebook graph api 总是使用auth_type=";“重新请求”;在Facebook登录按钮中(对于所需权限)?

Facebook graph api 总是使用auth_type=";“重新请求”;在Facebook登录按钮中(对于所需权限)?,facebook-graph-api,facebook-javascript-sdk,facebook-login,facebook-graph-api-v2.0,facebook-permissions,Facebook Graph Api,Facebook Javascript Sdk,Facebook Login,Facebook Graph Api V2.0,Facebook Permissions,我有一个Facebook登录实现(对于一个网站,使用javascript API),我希望需要“电子邮件”权限。当用户第一次登录时,他们可能会拒绝此权限-这很容易通过后续查看/me/permissions端点来检测。如果我发现他们拒绝了,我不会继续登录。到目前为止还不错 然后,在随后的登录过程中,为了确保重新提示他们获得该权限,我在登录按钮中包括auth_type=“rerequest”(可以通过xfbml或onclick=FB.login(…)链接呈现) 虽然这似乎有效,但我的问题是:如果我总

我有一个Facebook登录实现(对于一个网站,使用javascript API),我希望需要“电子邮件”权限。当用户第一次登录时,他们可能会拒绝此权限-这很容易通过后续查看/me/permissions端点来检测。如果我发现他们拒绝了,我不会继续登录。到目前为止还不错

然后,在随后的登录过程中,为了确保重新提示他们获得该权限,我在登录按钮中包括auth_type=“rerequest”(可以通过xfbml或onclick=FB.login(…)链接呈现)

虽然这似乎有效,但我的问题是:如果我总是希望获得许可,总是在登录按钮中包含auth_type=“rerequest”是否有任何缺点?我在,而且它似乎不会对新用户或未拒绝该权限的用户产生任何不利影响(即,它只会更改登录流-如果用户已经拒绝了某些内容,则会重新提示。这是我想要的行为)


良好的实践似乎规定,只有当我确实知道我想重新提示某些内容时,我才应该包含此内容,但出于这个问题的考虑,我想知道始终包含此内容是否存在任何陷阱。

afaik没有真正的缺点,但建议不要强制用户使用他们取消选择的权限。相反,如果他们没有授权电子邮件权限,则向他们显示一个输入字段,在那里他们可以输入任何他们想要的电子邮件。请记住,即使用户接受了权限,电子邮件字段也不会总是被填充。

您是否使用Facebook登录按钮?重新请求被拒绝的许可对我来说很有效

只需在按钮中添加auth_type=“rerequest”

<fb:login-button scope="email,user_birthday,public_profile" auth_type="rerequest" onlogin="checkLoginState();"></fb:login-button>


希望这能对您有所帮助。

如果有人来到这里,这将不再有效(不知道它是否有效),但根据此处提到的常见问题部分(),登录按钮不支持重新请求被拒绝的权限。