Foros del Web » Programando para Internet » PHP »

Facebook Login y bucle de reedireccionamiento

Estas en el tema de Facebook Login y bucle de reedireccionamiento en el foro de PHP en Foros del Web. Hola amigos, descargue un script y tiene para que use el facebook login, solo tengo q introducir el appkey y la clave y mi sitio ...
  #1 (permalink)  
Antiguo 08/06/2015, 00:00
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 14 años
Puntos: 2
Facebook Login y bucle de reedireccionamiento

Hola amigos, descargue un script y tiene para que use el facebook login, solo tengo q introducir el appkey y la clave y mi sitio y todo deberia de funcionar, pero chrome me dice: esta pagina web tiene un bucle de reedireccionamiento, alguien sabra cual es el error? aqui les dejo el codigo

Código:
<?php

    /*!
     * QAScript v1.2.0
     * http://ifsoft.com.ua
     * [email protected]
     *
     * Copyright (C) 2012-2014 Demyanchuk Dmitriy (Russian Dimon)
     */

Class facebook extends db_connect {
    
    static protected $oAppId        = "Aqui va la appid"; //APP ID
    static protected $oAppSecret   = "appsecret"; //APP SECRET
    static protected $oRedirectUri = "http://misitio.com/login/?action=facebook";
    static protected $oCode        = NULL;
    
    static protected $oInstance       = NULL;
    
    public function __construct($dbo=NULL)
    {
        parent::__construct($dbo);
    }

    
    protected function getCode()
    {
        if(isset($_REQUEST["code"]))
        {
            self::$oCode = $_REQUEST["code"];
        }
    }

    public function getLink()
    {
        $this->getCode();
        
        if(!self::$oCode)
        {
            $_SESSION['state'] = md5(uniqid(rand(), TRUE));
            $oDialogUrl = "http://www.facebook.com/dialog/oauth?client_id=" . self::$oAppId . "&redirect_uri=" . urlencode(self::$oRedirectUri) . "&state=" . $_SESSION["state"];
            return $oDialogUrl;
        }
    }
    
    public function logIn() {

        if (!isset($_REQUEST['error'])) {

            if(isset($_REQUEST['state']) and isset($_SESSION['state'])) {

                if($_REQUEST['state'] == $_SESSION['state']) {

                    $this->getCode();

                    $tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=" . self::$oAppId . "&redirect_uri=" . urlencode(self::$oRedirectUri) . "&client_secret=" . self::$oAppSecret . "&code=" . self::$oCode;

                    $oResponse = @file_get_contents($tokenUrl);
                    
                    $params = NULL;
                    
                    parse_str($oResponse, $params);

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

                    $oUser = json_decode(@file_get_contents($graphUrl));

                    $app = new app($this->db);

                    $app->fbLogin($oUser->id, $oUser->first_name, $oUser->last_name, $oUser->username);
                    unset($app);

                  
                    header("Location: /login/?status=success_fb_login");
                }
                
            } else {

                // echo 'Error. $_REQUEST[\'state\'] or $_SESSION[\'state\'] is not available';
                header("Location: /login/?status=error_fb_login");
            }
        } else {

            header("Location: /login/?status=error_fb_login");
        }
    }
} 

?>
  #2 (permalink)  
Antiguo 08/06/2015, 08:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Facebook Login y bucle de reedireccionamiento

¿Y en qué parte del código inicia sesión con session_start() o cómo esperas mantener la sesión?

Vamos, que además estás usando un script de alguien más ¿no es más coherente pedirle soporte al autor del script?

Que acá no es que lo sepamos todo por arte de magia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: bucle, facebook, login
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:58.