Foros del Web » Programando para Internet » PHP »

Problema con login

Estas en el tema de Problema con login en el foro de PHP en Foros del Web. Hola tengo un problema con facebook conect y con el login, estoy trabajando con un script, pero me dice que para iniciar sesion con facebook ...
  #1 (permalink)  
Antiguo 08/04/2015, 14:36
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 13 años, 11 meses
Puntos: 2
Problema con login

Hola tengo un problema con facebook conect y con el login, estoy trabajando con un script, pero me dice que para iniciar sesion con facebook solo modifique u archivo que les dejare a continuacion y meta el app id y el app secret que me proporciona facebook, lo hago y todo bien, despues le doy en el boton que me dice, iniciar sesion con facebook y todo normal te manda a facebook e inicias sesion, pero cuando me regresa a mi pagina web, chrome me suelta un error que dice "esta pagina web tiene un bucle de reedireccion" alguien sabe solucionarlo? aqui les dejo el codigo que les menciono

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        = ""; //APP ID
    static protected $oAppSecret   = ""; //APP SECRET
    static protected $oRedirectUri = "http://demo.ifsoft.com.ua/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/04/2015, 14:42
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: Problema con login

tienes puesto "status":

Código PHP:
Ver original
  1. header("Location: /login/?status=success_fb_login");
  2. header("Location: /login/?status=error_fb_login");
  3. header("Location: /login/?status=error_fb_login");

quizá lo tengas que cambiar por "state":


Código PHP:
Ver original
  1. header("Location: /login/?state=success_fb_login");
  2. header("Location: /login/?state=error_fb_login");
  3. header("Location: /login/?state=error_fb_login");
  #3 (permalink)  
Antiguo 08/04/2015, 14:48
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Problema con login

Ya intente cambiandolo por state pero aun asi no me deja me manda el miso erroren firefox me dice la pagina no se esta reedireccionando correctamente
  #4 (permalink)  
Antiguo 08/04/2015, 20:20
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Problema con login

¿Qué error te aparece exactamente?
__________________
¿Te sirvió la respuesta? Deja un +1
  #5 (permalink)  
Antiguo 10/04/2015, 10:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Problema con login

me dice que la pagina no se puede reedireccionar correctamente en firefox y en chrome me dice que la pagina tiene un bucle de reedireccion
  #6 (permalink)  
Antiguo 10/04/2015, 10:51
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Problema con login

No seria mas sencillo que utilizaras el SDK de Facebook ?
https://developers.facebook.com/docs...ence/php/4.0.0
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 10/04/2015, 11:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con login

Desde luego es mucho mejor usar el SDK, ¿o a caso tiene algún valor inventarse todo desde cero?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 19/04/2015, 16:23
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Problema con login

es que lo que pasa es que el script ya esta hecho para que solo introduscas dos coas y funcione, de hecho en el demo del scrit funciona, pero conmigo no :C

Etiquetas: 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:28.