如何在没有登出facebook.com的情况下注销facebook应用程序网站

时间:2011-09-14 09:00:39

标签: facebook

我正在使用codeigniter,并使用javascript sdk / php sdk。但是,注销网址从getLogoutUrl()生成,也在facebook.com注销我的帐户。

仅为我的网站应用程序清除会话的任何功能..?

3 个答案:

答案 0 :(得分:3)

您只能撤消对您的应用的权限。看看这个页面:

http://developers.facebook.com/docs/howtos/login/server-side-logout/

以下是用于实现此目的的释义PHP代码:

$token = $_SESSION["access_token"];

if($token)
{
    $graph_url = "https://graph.facebook.com/me/permissions?method=delete&access_token=".$token;
    $result = json_decode(file_get_contents($graph_url));
}
else
{
    echo("User already logged out.");
}

答案 1 :(得分:2)

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

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)
   );
  }

适合我!

答案 2 :(得分:1)

是的..我有同样的问题..你可以通过以下方式来做到这一点:

在您的页面注销按钮或图片中:

<a href="logout.php">Log Out</a>

logout.php -------------------------------------------&gt ;

<?php
require 'facebook.php';     //including the facebook php sdk
$facebook->destroySession();
header( "location:index.php" );
?>

使用facebook=>getLogoutUrl();&lt;&lt;&lt;&lt;&lt;&lt;这使你的facebook.com注销......

我希望这就是你要找的东西:)