{"id":26674,"date":"2021-04-27T16:15:00","date_gmt":"2021-04-27T13:15:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26674"},"modified":"2021-10-17T17:55:07","modified_gmt":"2021-10-17T14:55:07","slug":"inicio-de-sesion-social-en-php-usando-la-biblioteca-hybridauth","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/inicio-de-sesion-social-en-php-usando-la-biblioteca-hybridauth\/","title":{"rendered":"Inicio de sesi\u00f3n social en PHP usando la biblioteca HybridAuth"},"content":{"rendered":"<p>La integraci\u00f3n de la funci\u00f3n de inicio de sesi\u00f3n social en el sitio web es una tendencia hoy en d\u00eda. Esta funci\u00f3n facilita el proceso de inicio de sesi\u00f3n y registro del usuario. Si un usuario est\u00e1 listo para usar su perfil social en su sitio web, entonces no necesita completar su formulario de registro, active su cuenta.<\/p>\n<p>Los sitios sociales tampoco proporcionan informaci\u00f3n privada de un usuario al sitio web. En cambio, brindan solo detalles b\u00e1sicos como nombre, g\u00e9nero, identificaci\u00f3n social (en un sitio social espec\u00edfico), correo electr\u00f3nico. La aplicaci\u00f3n web puede solicitar m\u00e1s detalles de un usuario. Pero el usuario tiene que dar acceso a informaci\u00f3n adicional. Depende totalmente de que el usuario d\u00e9 acceso a m\u00e1s informaci\u00f3n o no. Algunos sitios sociales como Twitter no proporcionan un correo electr\u00f3nico de un usuario. El punto es que es seguro utilizar el perfil de su sitio social para interactuar con un sitio web.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20879-608236eade4f2.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20879-608236eade4f2.png\" alt=\"Inicio de sesi\u00f3n social en PHP usando la biblioteca HybridAuth\" ><\/a><\/p>\n<p>Para un desarrollador, no es sencillo escribir un c\u00f3digo para el inicio de sesi\u00f3n social. Primero, necesitan leer la documentaci\u00f3n proporcionada por sitios sociales como Facebook, Twitter. Cada sitio social tiene su propia biblioteca y su propia forma de integrar la funci\u00f3n de inicio de sesi\u00f3n social.<\/p>\n<p>Por ejemplo, est\u00e1 buscando agregar un inicio de sesi\u00f3n social con Facebook y Twitter. En ese caso, un desarrollador debe escribir un c\u00f3digo diferente para ambos sitios sociales seg\u00fan lo provisto por ellos en su documentaci\u00f3n oficial.<\/p>\n<p>No es f\u00e1cil para un desarrollador desarrollar un c\u00f3digo si tiene m\u00e1s de un sitio social para interactuar.<\/p>\n<p>Gracias a <a href=\"https:\/\/hybridauth.github.io\/hybridauth\/index.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">HybridAuth<\/a> &#8211; signo social de c\u00f3digo abierto en la biblioteca PHP. El equipo de HybridAuth facilita la vida de nuestros desarrolladores.<\/p>\n<p>Al utilizar esta biblioteca, no es necesario que lea la documentaci\u00f3n de los sitios sociales sobre c\u00f3mo integrar el inicio de sesi\u00f3n social en el sitio web. Lo que todos debemos hacer es instalar y configurar la biblioteca HybridAuth correctamente y registrar una aplicaci\u00f3n en los sitios sociales (lo cual es necesario incluso si no usamos la biblioteca HybridAuth).<\/p>\n<h3>Instalaci\u00f3n<\/h3>\n<p>Para instalar la biblioteca HybridAuth, se recomienda el uso de Composer. Si no tiene Composer instalado en su sistema, puede obtenerlo en su <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sitio web oficial<\/a>.<\/p>\n<p>Cree un archivo composer.json en el directorio ra\u00edz de su proyecto y coloque el siguiente c\u00f3digo en \u00e9l.<\/p>\n<pre><code>{\n\u00a0\u00a0\u00a0\u00a0\"require\": {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"hybridauth\/hybridauth\": \"2.9.6\"\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Hemos aprobado &quot;2.9.6&quot; porque en el momento de escribir este art\u00edculo es la <a href=\"https:\/\/github.com\/hybridauth\/hybridauth\/releases\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00faltima versi\u00f3n estable<\/a> de la biblioteca HybridAuth.<\/p>\n<p>Abra la terminal en el directorio ra\u00edz del proyecto y ejecute el comando <code>composer install<\/code>. Instalar\u00e1 la versi\u00f3n 2.9.6 de la biblioteca HybridAuth en su sistema.<\/p>\n<h3>Configuraci\u00f3n<\/h3>\n<p>Aseg\u00farese de que est\u00e1 configurando una biblioteca correctamente. Si no puede configurarlo correctamente, no obtendr\u00e1 los beneficios de una biblioteca y terminar\u00e1 en la frustraci\u00f3n.<\/p>\n<p>Copie los 2 archivos config.php e index.php del directorio vendorhybridauthhybridauthhybridauth y col\u00f3quelos en el directorio ra\u00edz de un proyecto. Cambie el nombre del archivo index.php a hybridauth.php ya que podr\u00edamos tener otro index.php en la misma ubicaci\u00f3n.<\/p>\n<p>Abra el archivo config.php y agregue las claves y el secreto de su aplicaci\u00f3n en la matriz de proveedores relacionados.<\/p>\n<p><a href=\"https:\/\/hybridauth.github.io\/hybridauth\/userguide.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Haga clic aqu\u00ed<\/a> para obtener la lista de todos los proveedores de redes sociales compatibles con HybridAuth. Tambi\u00e9n 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.<\/p>\n<p>Digamos que necesitamos especificar los detalles de la aplicaci\u00f3n de Facebook. Para ello, en el config.php para el proveedor de Facebook nuestro c\u00f3digo es el siguiente.<\/p>\n<pre><code>return array(\n\u00a0\u00a0\u00a0\u00a0\"base_url\" =&gt; \"YOUR_SITE_URL\/hybridauth.php\",\n\u00a0\u00a0\u00a0\u00a0\"providers\" =&gt; array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/other providers code\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Facebook\" =&gt; array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"enabled\" =&gt; true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"keys\" =&gt; array(\"id\" =&gt; \"YOUR_APP_ID\", \"secret\" =&gt; \"YOUR_APP_SECRET\"),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"trustForwarded\" =&gt; false,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/other providers code\n\u00a0\u00a0\u00a0\u00a0),\n);<\/code><\/pre>\n<p>Aseg\u00farese de haber reemplazado los marcadores de posici\u00f3n YOUR_APP_ID y YOUR_APP_SECRET con los valores reales.<\/p>\n<p>Tambi\u00e9n hemos pasado la ruta de un archivo hybridauth.php para base_url.<\/p>\n<p>A continuaci\u00f3n, abra el archivo hybridauth.php y realice los siguientes cambios.<\/p>\n<p>Reemplazar<\/p>\n<pre><code>require_once( \"Hybrid\/Auth.php\" );\nrequire_once( \"Hybrid\/Endpoint.php\" );\n\u00a0\nHybrid_Endpoint::process();<\/code><\/pre>\n<p>Con<\/p>\n<pre><code>require 'vendor\/autoload.php';\n\u00a0\nHybrid_Endpoint::process();<\/code><\/pre>\n<h3>C\u00f3digo de inicio de sesi\u00f3n social real mediante la biblioteca HybridAuth<\/h3>\n<p>En esta etapa, hemos completado la instalaci\u00f3n y configuraci\u00f3n de una biblioteca. A continuaci\u00f3n, necesitamos escribir un c\u00f3digo de inicio de sesi\u00f3n social real.<\/p>\n<p>Digamos que necesitamos usar el inicio de sesi\u00f3n social con Facebook, entonces nuestro c\u00f3digo ser\u00e1 el siguiente. Suponemos que tiene sign-in.php en la carpeta ra\u00edz donde necesita escribir un c\u00f3digo.<\/p>\n<p><strong>sign-in.php<\/strong><\/p>\n<pre><code>require 'vendor\/autoload.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$hybridauth = new Hybrid_Auth( 'config.php' );\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$adapter = $hybridauth-&gt;authenticate( \"Facebook\" ); \/\/it can be Twitter, Google etc.\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$user_profile = $adapter-&gt;getUserProfile();\n} catch(Exception $e){\n\u00a0\u00a0\u00a0\u00a0echo 'Oops, we ran into an issue! '. $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>El par\u00e1metro pasado al m\u00e9todo authenticate() debe coincidir con la clave del proveedor en el archivo config.php. La funci\u00f3n authenticate () comprueba si un usuario est\u00e1 autenticado. Si el usuario no est\u00e1 autenticado, se redirige a la p\u00e1gina de inicio de sesi\u00f3n de un sitio social relacionado. Despu\u00e9s de una autenticaci\u00f3n exitosa, el usuario vuelve a redirigir a nuestro archivo sign-in.php.<\/p>\n<p>En la siguiente l\u00ednea, obtenemos los detalles de un usuario autenticado usando la funci\u00f3n getUserProfile ().<\/p>\n<p>Para cerrar la sesi\u00f3n del usuario adjunto al proveedor, simplemente escribimos el siguiente c\u00f3digo en nuestro archivo logout.php.<\/p>\n<p><strong>logout.php<\/strong><\/p>\n<pre><code>require 'vendor\/autoload.php';\n\u00a0\nHybrid_Auth::logoutAllProviders();<\/code><\/pre>\n<p>Esperamos que comprenda c\u00f3mo agregar script social login en PHP usando la biblioteca HybridAuth. Si tiene alguna pregunta o sugerencia, deje un comentario a continuaci\u00f3n. Tambi\u00e9n te puede interesar leer nuestro art\u00edculo <a href=\"https:\/\/themewp.inform.click\/es\/sistema-de-inicio-de-sesion-social-usando-laravel-socialite\/\" title=\"Sistema de inicio de sesi\u00f3n social usando Laravel Socialite\">Sistema de inicio de sesi\u00f3n social usando Laravel Socialite<\/a>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfEst\u00e1 buscando integrar el inicio de sesi\u00f3n social en el sitio web PHP? En este art\u00edculo, le mostramos c\u00f3mo podemos agregar la funci\u00f3n de inicio de sesi\u00f3n social utilizando la biblioteca HybridAuth.<\/p>\n","protected":false},"author":1,"featured_media":21761,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[174,271],"tags":[849],"class_list":["post-26674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chrome-2","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=26674"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26674\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21761"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=26674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=26674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=26674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}