Facebook SDK returned an error: Cross-site request forgery validation failed. The “state” param from the URL and session do not match.
Y buscando en Google encontré una solución que me solucionó mi problema y fue esta:
Después de llamar a la función para obtener el enlace de la dirección para conectarnos a Facebook debemos escribir el siguiente código.
/** Función para obtener el enlace para conectarnos a Facebook **/ $uri=$helper->getLoginUrl($uri, $permissions); /** Código para solventar el error **/ foreach ($_SESSION as $k=>$v) { if(strpos($k, "FBRLH_")!==FALSE) { if(!setcookie($k, $v)) { } else { $_COOKIE[$k]=$v; } } }Y en nuestra página de login-callback.php antes de cualquier otro código escribirmos el siguiente:
foreach ($_COOKIE as $k=>$v) {
if(strpos($k, "FBRLH_")!==FALSE) {
$_SESSION[$k]=$v;
}
}
Por último no hay que olvidarnos del código de sesiónif(!session_id()) {
session_start();
}
...
...
...
...
<?php session_write_close() ?>
No hay comentarios.:
Publicar un comentario