在Facebook登录按钮中始终使用auth_type= "rerequest"(用于所需权限)的缺点?



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

然后在随后的登录过程中,为了确保他们被重新提示授予该权限,我在登录按钮中包含auth_type="rerequest"(可以通过xfbml或带有onclick=FB.login(...)的链接呈现)。

虽然这似乎有效,但我的问题是:如果我总是希望需要权限,那么在我的登录按钮中始终包含 auth_type="重新请求"有什么缺点吗? 我在文档中没有看到任何相反的内容,并且它似乎对新用户或未拒绝权限的用户没有任何不利影响(即它仅更改登录流程 - 如果用户已经拒绝了某些内容,则通过重新提示。 这是我想要的行为)。

好的做法似乎规定,只有当我真正知道我想重新提示某些内容时,我才应该包含它,但为了这个问题,我想知道总是包含它是否有任何陷阱。

没有真正的缺点 afaik,但推荐的方法是不要强迫用户使用他们取消选择的权限。相反,如果他们未授权电子邮件权限,请向他们显示一个输入字段,他们可以在其中输入所需的任何电子邮件。请记住,即使用户接受了权限,电子邮件字段也并不总是填充。

你正在使用Facebook登录按钮吗?重新请求拒绝的许可对我有用。

只需在按钮中添加 auth_type="重新请求"。

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

希望对您有所帮助。

最新更新