Как выйти, используя клиентский поток OAuth2 Facebook? - PullRequest
1 голос
/ 19 августа 2011

Как выйти из приложения Facebook, используя клиентский поток oauth2?

Мне не удалось найти способ сделать это в официальных документах: http://developers.facebook.com/docs/authentication/

Ответы [ 5 ]

1 голос
/ 28 августа 2011

Кажется, что вам на самом деле не нужно выходить из системы, потому что веб-просмотр, который используется для потока клиентов, не хранит зарегистрированного пользователя.

1 голос
/ 19 августа 2011

Вы можете сделать это с помощью Javascript SDK, вызвав FB.logout. Смотри https://developers.facebook.com/docs/reference/javascript/FB.logout/

Однако я не уверен, как это сделать, не используя один из официальных SDK.

0 голосов
/ 17 сентября 2011

Добавьте следующее в самое начало страницы вашего сайта.

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

у меня работает!

0 голосов
/ 28 августа 2011

Если вы используете новый PHP-SDK, вам нужно как вызвать FB.logout из JavaScript SDK, так и уничтожить сеанс пользователя на вашем сервере, так как новый PHP SDK хранит идентификатор пользователя и маркер доступа в PHP сессия.

Я использую:

$_SESSION = array();
session_destroy();
0 голосов
/ 28 августа 2011

Используйте функцию FB.getLoginStatus и FB.logout JavaScript.

...