Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/01/2012, 11:23
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Cerrar sesion con Facebook Connect con PHP, urgentillo

La manera documentada de desloguearse es hacer un enlace con este href:
Código PHP:
https://www.facebook.com/logout.php?next=YOUR_URL&access_token=ACCESS_TOKEN 
donde YOUR_URL es la url de regreso a tu sitio y ACCESS_TOKEN es el identificador que obtenés al loguearte con scripts como este (u otros):
Código PHP:
<?php 

   $app_id 
"YOUR_APP_ID";
   
$app_secret "YOUR_APP_SECRET";
   
$my_url "YOUR_URL";

   
session_start();
   
$code $_REQUEST["code"];

   if(empty(
$code)) {
     
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
     
$dialog_url "http://www.facebook.com/dialog/oauth?client_id=" 
       
$app_id "&redirect_uri=" urlencode($my_url) . "&state="
       
$_SESSION['state'];

     echo(
"<script> top.location.href='" $dialog_url "'</script>");
   }

   if(
$_REQUEST['state'] == $_SESSION['state']) {
     
$token_url "https://graph.facebook.com/oauth/access_token?"
       
"client_id=" $app_id "&redirect_uri=" urlencode($my_url)
       . 
"&client_secret=" $app_secret "&code=" $code;

     
$response = @file_get_contents($token_url);
     
$params null;
     
parse_str($response$params);

     
$graph_url "https://graph.facebook.com/me?access_token=" 
       
$params['access_token'];

     
$user json_decode(file_get_contents($graph_url));
     echo(
"Hello " $user->name);
   }
   else {
     echo(
"The state does not match. You may be a victim of CSRF.");
   }

 
?>