Hola amigo..
yo creo q depende mucho como estés manejando el flujo del api...
en mi caso, como te habia comentado, uso la api de javascript...
la cual me regresa los datos del usuario que se acaba de loguear con su cuenta de facebook...
además de los datos "publicos" y los datos a los que tenga acceso tu aplicación... la api te regresa 2 datos que yo considero importantes: FUID (id de facebook del usuario) y el accessToken...
Ahora, en mi caso, a la hora de que el api me retorna esos datos, yo los envío como un formulario (OJALA ALGUIEN PUEDA DAR MAS SUGERENCIAS, PORQUE LA VERDAD NO SE SI SEA LA FORMA CORRECTA, AUNQUE A MI ME HA FUNCIONADO BIEN)
Cuando cacho los datos de ese formulario en mi archivo .php, es cuando válido el accessToken generado por el api, de ésta forma:
Código PHP:
Ver original....
$accessToken_facebook = $_POST['accesToken'];
$fuid = $_POST['fuid'];
//Esta línea es la q hace la magía :p
//validar el token de facebook: https://graph.facebook.com/me?access_token=[TokenRecibido]
$comprueba = file_get_contents('https://graph.facebook.com/me?access_token='.$accessToken_facebook);
if($comprueba!=''&&$comprueba!=null)
{
$token = $this->security->xss_clean($datos_api_facebook->id);
if( (isset($fuid)&&isset($token)) && ($fuid!=''&&$token!='') && ($fuid!=null
&&$token!=null) && $fuid==$token) {
//Acciones a tomar cuando el login sea válido
}else //Acciones a tomar cuando el login falle
}
else //Acciones a tomar cuando el login falle
Espero puedas analizar el código y te pueda servir, te comento, no sé si sea la mejor forma, pero a mi me ha funcionado
Saludos!