簡體   English   中英

PHP SDK - Facebook注銷

[英]PHP SDK - Facebook Logout

我正在使用最新版本的PHP SDK for Facebook(3.2.1)

我想知道,當使用sdk中base_facebook.php提供的功能注銷時,如果有辦法阻止它實際退出facebook,但仍然刪除網站應用程序的會話?

以下是base_facebook.php的注銷功能

/**
* Get a Logout URL suitable for use with redirects.
*
* The parameters:
* - next: the url to go to after a successful logout
*
* @param array $params Provide custom parameters
* @return string The URL for the logout flow
*/

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

然后我的注銷網址是: $logoutUrl = $facebook->getLogoutUrl(); 然后顯然使用錨標記注銷: <a href="<?php echo $logoutUrl; ?>">Logout</a>

謝謝。

不要使用$ logoutUrl。

 <li><a href="?action=logout">Logout</a></li>

並在您的PHP代碼中添加此項。 這只會從您的應用中退出。

if(isset($_GET['action']) && $_GET['action'] === 'logout'){
        $facebook->destroySession();
    }

創建一個logout.php文件

<?php 
session_start();            //start session
$_SESSION = array();    //clear session array
session_destroy();      //destroy session
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Log Out</title>
</head>

<body>
<p>You have successfully logged out!</p>
<p>Return to the <a href="....index.php">Home</a> page</p>

</body>
</html>

並在您檢查用戶狀態的位置更改代碼

if ($user) { 
    $params = array( 'next' => 'http://....../logout.php' );
    $logoutUrl = $facebook->getLogoutUrl($params);
} else {
  $loginUrl = $facebook->getLoginUrl();
}

使用$ logoutUrl注銷用戶。

<?php if ($user): ?>
<?php echo "Welcome, ".$me['first_name']. " " .$me['last_name']   ." <br />";
      echo "Id: " . $me['id'] ." <br />";  ?>

<a href="<?php echo $logoutUrl; ?>">  Logout </a> <br />

<?php else: ?>
  <a href="<?php echo $loginUrl; ?>"> 

   <img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif"> </a>  
 <?php endif ?>

希望它能正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM