如何使用OAuth2 Facebook客户端流程注销?

时间:2011-08-19 07:29:27

标签: facebook facebook-graph-api oauth

如何使用oauth2客户端流程从Facebook应用程序注销?

我在官方文档中找不到任何方法:http://developers.facebook.com/docs/authentication/

5 个答案:

答案 0 :(得分:1)

您可以通过调用FB.logout来使用Javascript SDK执行此操作。见https://developers.facebook.com/docs/reference/javascript/FB.logout/

我不知道如何在不使用其中一个官方SDK的情况下执行此操作。

答案 1 :(得分:1)

您似乎并不需要注销,因为用于客户端流程的webview不会存储登录用户。

答案 2 :(得分:0)

如果您正在使用新的PHP-SDK,则需要从JavaScript SDK调用FB.logout,并且还要破坏服务器上的用户会话,因为新的PHP SDK将用户ID和访问令牌存储在PHP会话。

我用:

$_SESSION = array();
session_destroy();

答案 3 :(得分:0)

将以下内容添加到您网站的最开头

session_start();

if($_GET['logoutfrmfb']=="logout")
{
   unset($_SESSION['fb_{your app id}_code']);
   unset($_SESSION['fb_{your app id}_access_token']);
   unset($_SESSION['fb_{your app id}_user_id']);
}

在src / base_facebook.php中查找并编辑以下行(可能是第506-515行)

  public function getLogoutUrl($params=array()) {
 return $this->getUrl(
   'www',
   'logout.php',
   array_merge(array(
     'next' => $this->getCurrentUrl().'?logoutfrmfb=logout',
     'access_token' => $this->getAccessToken(),
   ), $params)
   );
  }

适合我!

答案 4 :(得分:-2)

使用FB.getLoginStatus和FB.logout JavaScript函数。