Выход из Facebook с использованием PHP и JS SDK - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть следующий код (с моим facebook.php, правильно добавленным, appId и appSecret также являются правильными):

 <?php

 define('APP_ID', 'XXX');

 $facebook = new Facebook(array(
     'appId'  => APP_ID,
     'secret' => 'XXX',
));

$userId = $facebook->getUser();

?>

 <html>
  <body>
 <div id="fb-root"></div>

<?php if ($userId) { 
  $userInfo = $facebook->api('/' + $userId); ?>
  Welcome <?= $userInfo['email'] ?> <fb:logout-button></fb:logout-button>

<?php } else { ?>
<div id="fb-root"></div>
<fb:login-button></fb:login-button>
<?php } ?>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '<?= APP_ID ?>',
      status     : true, 
      cookie     : true,
      xfbml      : true,
      oauth      : true,
    });

FB.logout(function()
{
    top.location.href = 'http://www.google.com'
});

  };

  (function(d){
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     d.getElementsByTagName('head')[0].appendChild(js);
   }(document));
</script>

Мой код всегда выводит Welcom myemail@email.com. Как мне заставить его выйти из системы правильно, чтобы я мог проверить это, чтобы войти снова?

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

Удалите куки, сеанс и т. Д. Затем с помощью API Facebook сделайте что-то вроде этого:

        $logoutUrl = $facebook->getLogoutUrl(array('next' => $_SERVER['HTTP_REFERER'], 'session_key' => $fb_session['session_key']));

        $fb_session = $facebook->setSession(null);

        header('Location:' . $logoutUrl);

Если вы хотите, чтобы пользователь вернулся на определенную страницу, просто измените значение 'next' на любую страницу, на которую вы хотите, чтобы он вернулся.

0 голосов
/ 06 марта 2012
$fb_session = $facebook->setSession(null);

@ Сомнат Мулук, кажется, этот код очистит сессию, поэтому не только приложение fb выйдет из системы, но и loginstatus на веб-сайте Facebook.-option просто позволит приложению выйти из fb.когда я продолжаю посещать свои фб фиды, он должен работать без возможности повторного входа в систему

...