выход из Facebook не работает - PullRequest
0 голосов
/ 20 марта 2012

Я скачал последнюю версию facebook php sdk.Я могу использовать FB логин на моем сайте.Но выход из системы не работает.Скрипт запоминает пользовательские данные.Как исправить эту проблему?Ниже приведен код, который я использую.

<code><?php
require '../src/facebook.php';

$facebook = new Facebook(array(
 'appId'  => 'xxxxxxxxx',
 'secret' => 'xxxxxxxxxxxxxxxxxx',
));

// Get User ID
$user = $facebook->getUser();

if ($user) {
  try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
 }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}


?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>php-sdk</title>
<style>
  body {
    font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
  }
  h1 a {
    text-decoration: none;
    color: #3b5998;
  }
  h1 a:hover {
    text-decoration: underline;
  }
 </style>
 </head>
 <body>
 <h1>php-sdk</h1>

 <?php if ($user): ?>
  <a href="<?php echo $logoutUrl; ?>">Logout</a>
 <?php else: ?>
  <div>
    Login using OAuth 2.0 handled by the PHP SDK:
    <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
  </div>
 <?php endif ?>

<h3>PHP Session</h3>
<pre><?php print_r($_SESSION); ?>

Вы

image/picture">

Ваш пользовательский объект (/ me)

<?php print_r($user_profile); ?>
Вы не подключены.

Ответы [ 2 ]

0 голосов
/ 05 августа 2013
  1. Поместить массив ('next') в $logoutUrl
  2. Использование session_destroy();

    $logoutUrl = $facebook->getLogoutUrl(array('next' => 'url_you_are_redirecting_user_to')); session_destroy();

Обратите внимание, что ссылка для перенаправления должна быть в той же области домена, что и все приложение Facebook. В противном случае вы будете перенаправлены на домашнюю страницу Facebook.

0 голосов
/ 12 апреля 2012

Удалите приложение из своей учетной записи Facebook, затем повторите попытку.Это решило проблему для меня.

...