Por favor, necesito ayuda. ¡Estoy lidiando con este problema por 1 mes!Facebook-connect da un bucle de redirección
Me gustaría implementar el inicio de sesión de Facebook Connect a mi sitio web, usando PHP y php-sdk 3.1.1. En pocas palabras, mi código funciona sin conexión (en localhost) pero no en línea, lo que da como resultado "Demasiados bucles de redirección (en Chrome)": Error 310 (net :: ERR_TOO_MANY_REDIRECTS): hubo demasiados redireccionamientos.
Aquí está mi código:
1/me carga Facebook Connect SDK y init que:
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => '209633612480053',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
));
Por favor, tenga en cuenta que he creado dos aplicaciones en la página de facebook-developper, uno para pruebas fuera de línea, y el otro para pruebas en línea. Y estoy seguro de que cambiaré correctamente entre los dos pares de appId/secret (en línea y fuera de línea) cuando realice la prueba. Por lo tanto, no es el problema de bad facebbok-connect init.
2/I tratar de conseguir información del usuario:
$uid = $facebook->getUser();
if($uid)
{
/*
* Get user information.
*/
$user = $facebook->api('me/');
print_r($user); // Display user info.
}
else
{
/*
* Redirect to FB login URL to allow access.
*/
$loginURL = $facebook->getLoginURL();
echo '<script> top.location.href=\''.$loginURL.'\'</script>';
}
Es tan simple como eso: Si ic usuario conectado a Facebook, por lo que muestran es la información, de lo contrario, redirigir a la página de inicio de sesión de Facebook para permitir el acceso.
Funciona perfectamente fuera de línea, pero en línea, me sale un error de cromo:
This webpage has a redirect loop
The webpage at https://www.facebook.com/dialog/oauth?client_id=209633612480053&redirect_uri=http%3A%2F%2Fwww.bluward.com%2Foauth%2Ffacebook&state=551f60cd4be6cd8ed1622f8168a5219a#_=_ has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.
Alguna información adicional: Online, yo uso proveedor de alojamiento 1and1, y estar seguro de tener la misma configuración del servidor de servidor fuera de línea (que es un MAMP Pro), cargué el archivo sams php.ini.
Por favor, si alguien tiene una idea u obtienes un problema similar, estaré encantado de tener ayuda.
Gracias de antemano por toda ayuda.
ACTUALIZACIÓN:
He actualizado mi código para centrarse en la línea problemática, por lo que en lugar de redireccionar a la página de inicio de sesión de Facebook, que mostrará la URL de redireccionamiento, por lo que sólo tiene que hacer clic para iniciar sesión:
$uid = $facebook->getUser();
if($uid)
{
/*
* Get user information.
*/
$user = $facebook->api('me/');
print_r($user); // Display user info.
}
else
{
/*
* Redirect to FB login URL to allow access.
*/
$loginURL = $facebook->getLoginURL();
echo $loginURL; // <-- HERE I CHANGED THE CODE TO DISPLAY LOGIN URL
}
Lo que noté es que Facebook redirige infinitamente a la página de mi script. Solo el parámetro code
en la barra de direcciones URL cambia.
Entonces, ¿por qué facebbok está redireccionando a la página de mi script sin darme la información del usuario?
¿Alguna idea?
¿Ha habilitado las cookies en su navegador? – AlphaMale
Sí, por supuesto. Utilizo la configuración que permite establecer los datos locales (recomendado). – htaidirt
extraño entonces. colocar una salida después de $ loginURL = $ facebook-> getLoginURL(); y luego actualiza si todavía redirige. – AlphaMale