没有Javascript SDK和注销的Facebook登录流程

时间:2013-08-28 12:57:01

标签: facebook facebook-graph-api facebook-login

Facebook Platform Policies section 1.6明确指出

  

您的网站必须提供明确的“退出”选项,该选项还会将用户从Facebook中记录下来。

Login Flow for Web without Javascript SDK说明了记录人员

  

您可以通过撤消添加的任何登录状态指示器来记录您的应用程序,例如删除指示某个人已登录的会话。您还应该删除存储的访问令牌。

另一方面the Login Flow for Web说关于记录人员

  

注意:此功能调用还会将此人记录在Facebook外。原因是有人可能在登录流程期间登录了您的应用程序并进入Facebook。如果是这种情况,他们可能不会期望在他们退出您的应用时仍然登录到Facebook。为了避免让人感到困惑并保护个人安全,我们强制执行此注销行为。

因此,根据我的理解,使用JS SDK的登录流程执行策略所说的内容,它也会将用户从Facebook中记录下来。如何正确实现没有JS JSDK 的登录流,这样我就不会违反Facebook平台政策?到目前为止,我没有看到Graph API提供类似的功能。

1 个答案:

答案 0 :(得分:1)

这应该很容易looking at the PHP SDK’s method getLogoutUrl,它会创建以下方案的URL:

https://www.facebook.com/logout.php?next=FOO&access_token=USER_ACCESS_TOKEN

对于FOO,您只需将用户重定向到您的网站的URL放在Facebook成功注销后(不要忘记对该值进行正确的URL编码),USER_ACCESS_TOKEN应该是自我的解释。 (您需要一个活动的用户访问令牌才能将用户从Facebook注销 - 显然,因为否则网络上的每个网站都可能只是将我重定向到此地址并将我从Facebook注销,而我实际上并不想要那会发生。)