#Facebook #PHP #SDK listo para #CodeIgniter

#Facebook #PHP #SDK listo para #CodeIgniter

Hace unos días me tocó implementar un “loggeo” a traves de Facebook. No sabía nada al respecto y me puse a leer la documentación oficial desde el portal de Facebook.

Pues bien, bajé el SDK hecho en PHP para la integración con el sitio web, creé la aplicación en Facebook, obtuve el id de la app así como su código secreto. Edité los datos de configuración en el SDK, realicé pruebas y sencillamente la aplicación no funcionaba. Fue ahí que me puse a leer más datos al respecto.

Después de tanto tiempo no obtuve respuestas y me puse a explorar el SDK. Me dí cuenta que en el la función getCode() de base_facebook.php extraia variables importantes desde $_REQUEST lo cual entiendo en Codeigniter es distinto el uso de ese tipo de variables.

Es por eso que hice la siguiente modificación a dicha función:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
protected function getCode() {
    $server_info = array_merge($_GET, $_POST, $_COOKIE);
 
    if (isset($server_info['code'])) {
        if ($this->state !== null &&
                isset($server_info['state']) &&
                $this->state === $server_info['state']) {
 
            // CSRF state has done its job, so clear it
            $this->state = null;
            $this->clearPersistentData('state');
            return $server_info['code'];
        } else {
            self::errorLog('CSRF state token does not match one provided.');
            return false;
        }
    }
 
    return false;
}

Con esta modificación ya podemos seguir con la integración correcta de Facebook. He subido todo el SDK junto con la modificación a github, sólo basta clonarlo y checar la configuración de tu app. Saludos.

Proyecto en GitHub

Written by 11110101

Apasionado por la tecnología, Geekalt42 es un sitio que he construido con muchas personas a lo largo de 5 años. Gracias a todos. Facebook: fb.com/moyvera Twitter: @11110101

3 Comments

Deja un comentario

A %d blogueros les gusta esto: