2011-08-19 34 views
1

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

我没能找到任何办法做到这一点在官方的文档:http://developers.facebook.com/docs/authentication/

+0

我想你可以尝试PHP-SDK [示例](https://github.com/facebook/php-sdk/blob/master/examples/example.php)来检查getLogoutUrl()的外观。或者检查它是如何形成的[这里](https://github.com/facebook/php-sdk/blob/master/src/base_facebook.php#L498)。 – ifaour

回答

1

看来你并不真的需要注销的,因为这是用于客户端流量的WebView,不会在用户存储记录下来。

-2

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

+0

投票赞成否定评分的人:我在实际活动现场实施中使用了这些功能。 – San

0

如果您正在使用新的PHP-SDK,你需要在两个调用FB.logout与JavaScript SDK,也破坏你服务器上的用户会话,为新的PHP SDK存储用户ID和访问令牌一个PHP会话。

我用:

$_SESSION = array(); 
session_destroy(); 
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) 
    ); 
    } 

作品我!