如何使用 oauth2 客户端流程从 Facebook 应用程序注销?
我在官方文档中找不到任何方法:http://developers.facebook.com/docs/authentication/
您可以使用 Javascript SDK 调用 FB.logout 来执行此操作。请参阅https://developers.facebook.com/docs/reference/javascript/FB.logout/
但是,如果不使用官方 SDK 之一,我不确定如何执行此操作。
看来你真的不需要注销,因为用于客户端流程的webview不存储登录的用户。
如果您使用新的 PHP-SDK,则需要从 JavaScript SDK 调用 FB.logout,并销毁服务器上的用户会话,因为新的 PHP SDK 将用户 ID 和访问令牌存储在 PHP 会话中。
我用:
$_SESSION = array();
session_destroy();
将以下内容添加到您网站页面的最开头
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)
);
}
对我有用!
使用 FB.getLoginStatus 和 FB.logout JavaScript 函数。