PHP implementando autenticación con facebook
Iniciar sesión con facebook es sencillo hoy en dÃa y puede ser hecho con javascript como con muchos otros lenguajes. En esta ocasión nos enfocaremos en PHP puedes usar el inicio de sesión de facebook con PHP en tus sitios web para permitir que los usuarios inicien sesión con su cuenta de facebook y al mismo tiempo puedes sugerirle un inicio de sesión adiciona, sin embargo no necesita un registro adicional ni la administración de usuarios para sus sitios. También puedes administrar usuarios en la página de la aplicación de facebook. Este artÃculo explica cómo integrar el "inicio de sesión de Facebook" en sus sitios web mediante el SDK de PHP de Facebook asà con un ejemplo y una demostración.
Lo primero es crear tu aplicación en facebook y obtener tu APP ID y tu codigo APP SECRET
Estos serian los pasos a seguir
- Crea una aplicación en developers facebook
- Crea una aplicación en tu servidor, es decir un dominio
- Baja los archivos zip e instala
- Prueba tu aplicación y mejorala
Dirijete a este linkÂ
Dale click en agregar aplicación, y por supuesto rellena los campos requeridos

Una vez que hayas creado la aplicación te mandara a tu panel donde debes de rellenar los campos obligatorios, no todos los campos son obligatorios, sin embargo es deseable llenar los mas que puedas.
Primero que nada agregar tus dominios desde donde loguearas, en dominios no ocupas el https pero si ocupas los subdominios en caso que vayas a usar la aplicacion en subdominios.

Crea tu aplicación, en Configuración -> Básica ve al final y crea la plataforma es decir mete el dominio de tu aplicación.

Luego activa tu aplicación en la parte superior donde muestra el estado de tu aplicación.
Descarga el zip de la aplicacion de facebook que construiremos y sustituye tu APP ID y APP SECRET en el archivo fbconfig.php
<?php session_start();
//require 'functions.php'; // added in v4.0.0 require_once 'autoload.php'; use Facebook\FacebookSession; use Facebook\FacebookRedirectLoginHelper; use Facebook\FacebookRequest; use Facebook\FacebookResponse; use Facebook\FacebookSDKException; use Facebook\FacebookRequestException; use Facebook\FacebookAuthorizationException; use Facebook\GraphObject; use Facebook\Entities\AccessToken; use Facebook\HttpClients\FacebookCurlHttpClient; use Facebook\HttpClients\FacebookHttpable; // init app with app id and secret FacebookSession::setDefaultApplication( 'Tur APP ID','Tu APP Secret' ); // login helper with redirect_uri $helper = new FacebookRedirectLoginHelper('http://holacodigo.com/ejemplos/facebook_login/fbconfig.php' ); try { $session = $helper->getSessionFromRedirect(); } catch( FacebookRequestException $ex ) { // Cando Facebook returns an error } catch( Exception $ex ) { // Cuando la validacion falla u otro problema local } // see if we have a session if ( isset( $session ) ) { // requerir los datos de usuario de graph api $request = new FacebookRequest( $session, 'GET', '/me' ); $response = $request->execute(); // get response $graphObject = $response->getGraphObject(); $fbid = $graphObject->getProperty('id'); // Para obtener Facebook ID $fbfullname = $graphObject->getProperty('name'); // Para obtener nombre completo de Facebook $femail = $graphObject->getProperty('email'); // Para obtener Facebook email ID /* ---- Variables de sesion -----*/ $_SESSION['FBID'] = $fbid; $_SESSION['FULLNAME'] = $fbfullname; $_SESSION['EMAIL'] = $femail; /* ---- header location despues de sesion ----*///checkuser($fbid,$fbfullname,$femail); header("Location: index.php"); } else { $loginUrl = $helper->getLoginUrl(); header("Location: ".$loginUrl); } ?>
Recuerda que puedes probar la aplicacion sin base de datos solamente con la sesión dePHP, pero si se quiere persistencia se debe de descomentar la funcion checkuser y require 'functions.php'
A continuación el link de la librerÃa o proyecto.
Estaré editando la publicación y resolviendo sus dudas en la sección de comentarios, saludos
Un momento mientras cargamos los comentarios
{{item.date}}
{{item.image}}
{{subitem.date}}
{{subitem.image}}