...
✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Inicio de sesión social en PHP usando la biblioteca HybridAuth

50

La integración de la función de inicio de sesión social en el sitio web es una tendencia hoy en día. Esta función facilita el proceso de inicio de sesión y registro del usuario. Si un usuario está listo para usar su perfil social en su sitio web, entonces no necesita completar su formulario de registro, active su cuenta.

Los sitios sociales tampoco proporcionan información privada de un usuario al sitio web. En cambio, brindan solo detalles básicos como nombre, género, identificación social (en un sitio social específico), correo electrónico. La aplicación web puede solicitar más detalles de un usuario. Pero el usuario tiene que dar acceso a información adicional. Depende totalmente de que el usuario dé acceso a más información o no. Algunos sitios sociales como Twitter no proporcionan un correo electrónico de un usuario. El punto es que es seguro utilizar el perfil de su sitio social para interactuar con un sitio web.

Inicio de sesión social en PHP usando la biblioteca HybridAuth

Para un desarrollador, no es sencillo escribir un código para el inicio de sesión social. Primero, necesitan leer la documentación proporcionada por sitios sociales como Facebook, Twitter. Cada sitio social tiene su propia biblioteca y su propia forma de integrar la función de inicio de sesión social.

Por ejemplo, está buscando agregar un inicio de sesión social con Facebook y Twitter. En ese caso, un desarrollador debe escribir un código diferente para ambos sitios sociales según lo provisto por ellos en su documentación oficial.

No es fácil para un desarrollador desarrollar un código si tiene más de un sitio social para interactuar.

Gracias a HybridAuth – signo social de código abierto en la biblioteca PHP. El equipo de HybridAuth facilita la vida de nuestros desarrolladores.

Al utilizar esta biblioteca, no es necesario que lea la documentación de los sitios sociales sobre cómo integrar el inicio de sesión social en el sitio web. Lo que todos debemos hacer es instalar y configurar la biblioteca HybridAuth correctamente y registrar una aplicación en los sitios sociales (lo cual es necesario incluso si no usamos la biblioteca HybridAuth).

Instalación

Para instalar la biblioteca HybridAuth, se recomienda el uso de Composer. Si no tiene Composer instalado en su sistema, puede obtenerlo en su sitio web oficial.

Cree un archivo composer.json en el directorio raíz de su proyecto y coloque el siguiente código en él.

{
    "require": {
        "hybridauth/hybridauth": "2.9.6"
    }
}

Hemos aprobado "2.9.6" porque en el momento de escribir este artículo es la última versión estable de la biblioteca HybridAuth.

Abra la terminal en el directorio raíz del proyecto y ejecute el comando composer install. Instalará la versión 2.9.6 de la biblioteca HybridAuth en su sistema.

Configuración

Asegúrese de que está configurando una biblioteca correctamente. Si no puede configurarlo correctamente, no obtendrá los beneficios de una biblioteca y terminará en la frustración.

Copie los 2 archivos config.php e index.php del directorio vendorhybridauthhybridauthhybridauth y colóquelos en el directorio raíz de un proyecto. Cambie el nombre del archivo index.php a hybridauth.php ya que podríamos tener otro index.php en la misma ubicación.

Abra el archivo config.php y agregue las claves y el secreto de su aplicación en la matriz de proveedores relacionados.

Haga clic aquí para obtener la lista de todos los proveedores de redes sociales compatibles con HybridAuth. También encontramos proveedores y proveedores adicionales en la propia biblioteca instalada. Para ver proveedores, vaya a vendorhybridauthhybridauthhybridauthHybridProviders y para proveedores adicionales consulte el directorio vendorhybridauthhybridauthadditional-proveedores.

Digamos que necesitamos especificar los detalles de la aplicación de Facebook. Para ello, en el config.php para el proveedor de Facebook nuestro código es el siguiente.

return array(
    "base_url" => "YOUR_SITE_URL/hybridauth.php",
    "providers" => array(
        //other providers code
        "Facebook" => array(
            "enabled" => true,
            "keys" => array("id" => "YOUR_APP_ID", "secret" => "YOUR_APP_SECRET"),
            "trustForwarded" => false,
        ),
        //other providers code
    ),
);

Asegúrese de haber reemplazado los marcadores de posición YOUR_APP_ID y YOUR_APP_SECRET con los valores reales.

También hemos pasado la ruta de un archivo hybridauth.php para base_url.

A continuación, abra el archivo hybridauth.php y realice los siguientes cambios.

Reemplazar

require_once( "Hybrid/Auth.php" );
require_once( "Hybrid/Endpoint.php" );
 
Hybrid_Endpoint::process();

Con

require 'vendor/autoload.php';
 
Hybrid_Endpoint::process();

Código de inicio de sesión social real mediante la biblioteca HybridAuth

En esta etapa, hemos completado la instalación y configuración de una biblioteca. A continuación, necesitamos escribir un código de inicio de sesión social real.

Digamos que necesitamos usar el inicio de sesión social con Facebook, entonces nuestro código será el siguiente. Suponemos que tiene sign-in.php en la carpeta raíz donde necesita escribir un código.

sign-in.php

require 'vendor/autoload.php';
 
try {
    $hybridauth = new Hybrid_Auth( 'config.php' );
 
    $adapter = $hybridauth->authenticate( "Facebook" ); //it can be Twitter, Google etc.
 
    $user_profile = $adapter->getUserProfile();
} catch(Exception $e){
    echo 'Oops, we ran into an issue! '. $e->getMessage();
}

El parámetro pasado al método authenticate() debe coincidir con la clave del proveedor en el archivo config.php. La función authenticate () comprueba si un usuario está autenticado. Si el usuario no está autenticado, se redirige a la página de inicio de sesión de un sitio social relacionado. Después de una autenticación exitosa, el usuario vuelve a redirigir a nuestro archivo sign-in.php.

En la siguiente línea, obtenemos los detalles de un usuario autenticado usando la función getUserProfile ().

Para cerrar la sesión del usuario adjunto al proveedor, simplemente escribimos el siguiente código en nuestro archivo logout.php.

logout.php

require 'vendor/autoload.php';
 
Hybrid_Auth::logoutAllProviders();

Esperamos que comprenda cómo agregar script social login en PHP usando la biblioteca HybridAuth. Si tiene alguna pregunta o sugerencia, deje un comentario a continuación. También te puede interesar leer nuestro artículo Sistema de inicio de sesión social usando Laravel Socialite.

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More