{"id":27750,"date":"2021-05-14T15:53:00","date_gmt":"2021-05-14T12:53:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27750"},"modified":"2021-10-17T17:07:56","modified_gmt":"2021-10-17T14:07:56","slug":"como-agregar-el-inicio-de-sesion-de-google-oauth-en-un-sitio-web-con-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-agregar-el-inicio-de-sesion-de-google-oauth-en-un-sitio-web-con-php\/","title":{"rendered":"C\u00f3mo agregar el inicio de sesi\u00f3n de Google OAuth en un sitio web con PHP"},"content":{"rendered":"<p>Si est\u00e1 ejecutando un sitio web donde un usuario puede registrarse, es posible que desee agregar la funci\u00f3n de inicio de sesi\u00f3n de Google OAuth. El inicio de sesi\u00f3n de Google para sitios web agrega un proceso de registro sencillo para los usuarios. Sus usuarios pueden usar su cuenta de Google para registrarse en su sitio web. No es necesario que llenen su formulario de registro, activen su cuenta por correo electr\u00f3nico, etc.<\/p>\n<p>En este art\u00edculo, estudiamos c\u00f3mo agregar la funci\u00f3n de inicio de sesi\u00f3n de Google OAuth a su sitio web.<\/p>\n<h3>Obtenga sus credenciales<\/h3>\n<p>Para comenzar con la API de inicio de sesi\u00f3n de Google, primero debe crear un proyecto en Google y obtener sus credenciales. A continuaci\u00f3n se muestran los pasos que debe realizar para crear el proyecto de Google.<\/p>\n<ul>\n<li>Vaya a la <a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Consola<\/a> para <a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">desarrolladores de Google<\/a>.<\/li>\n<li>Haga clic en el men\u00fa desplegable y cree un nuevo proyecto haciendo clic en el signo (+). Alternativamente, tambi\u00e9n puede seleccionar el proyecto existente.<\/li>\n<li>Seleccione su proyecto y haga clic en &#8216;HABILITAR APIS Y SERVICIOS&#8217;. En el cuadro de b\u00fasqueda, escriba &quot;Google+&quot; y seleccione la API de Google+. Permitirle.<\/li>\n<li>De nuevo, acceda al panel de control de su proyecto y seleccione Credenciales en la barra lateral.<\/li>\n<li>En la pesta\u00f1a Credenciales, haga clic en el men\u00fa desplegable Crear credenciales y seleccione ID de cliente OAuth.<\/li>\n<li>Seleccione la aplicaci\u00f3n web en Tipo de aplicaci\u00f3n. En las URL de redireccionamiento autorizadas, ingrese la URL<code>YOUR_DOMAIN_URL\/index.php<\/code><\/li>\n<li>Una vez que lo guarde, obtendr\u00e1 el cuadro de di\u00e1logo junto con su ID de cliente y el secreto del cliente. Copie estas claves que necesitaremos en los pr\u00f3ximos pasos.<\/li>\n<\/ul>\n<p>Es posible que observe la URL de redireccionamiento que configuramos en la aplicaci\u00f3n. En este tutorial, manejaremos el c\u00f3digo de devoluci\u00f3n de llamada en <code>index.php<\/code>. Los usuarios son libres de utilizar cualquier otro archivo para este prop\u00f3sito.<\/p>\n<h3>Instalaci\u00f3n de la biblioteca HybridAuth<\/h3>\n<p><a href=\"https:\/\/hybridauth.github.io\/index.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">HybridAuth<\/a> es una biblioteca PHP de inicio de sesi\u00f3n social de c\u00f3digo abierto. Usando esta biblioteca, podemos agregar un inicio de sesi\u00f3n social para uno o varios proveedores como Google, Facebook, Twitter, etc.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20615-60820ed8509b3.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-20615-60820ed8509b3.png\" alt=\"C\u00f3mo agregar el inicio de sesi\u00f3n de Google OAuth en un sitio web con PHP\" ><\/a><\/p>\n<p>Instalemos la biblioteca HybridAuth usando un compositor. Cree un <code>composer.json<\/code>archivo en la carpeta ra\u00edz del proyecto y agregue 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\": \"~3.0\"\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>A continuaci\u00f3n, abra la terminal en el directorio ra\u00edz de su proyecto y ejecute el comando:<\/p>\n<pre><code>composer install<\/code><\/pre>\n<p>Cree el <code>config.php<\/code>archivo y agregue el c\u00f3digo a continuaci\u00f3n para configurar el inicio de sesi\u00f3n de Google.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\n$config = [\n\u00a0\u00a0\u00a0\u00a0'callback' =&gt; 'YOUR_DOMAIN_URL\/index.php',\n\u00a0\u00a0\u00a0\u00a0'keys'\u00a0\u00a0\u00a0\u00a0 =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'id' =&gt; 'YOUR_CLIENT_ID',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; 'YOUR_CLIENT_SECRET'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0'scope'\u00a0\u00a0\u00a0 =&gt; 'https:\/\/www.googleapis.com\/auth\/userinfo.profile https:\/\/www.googleapis.com\/auth\/userinfo.email',\n\u00a0\u00a0\u00a0\u00a0'authorize_url_parameters' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'approval_prompt' =&gt; 'force', \/\/ to pass only when you need to acquire a new refresh token.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'access_type' =&gt; 'offline'\n\u00a0\u00a0\u00a0\u00a0]\n];\n\u00a0\n$adapter = new HybridauthProviderGoogle( $config );<\/code><\/pre>\n<p>Aseg\u00farese de reemplazar los marcadores de posici\u00f3n con los valores reales. En el c\u00f3digo anterior pasamos <code>YOUR_DOMAIN_URL\/index.php<\/code>como un valor de devoluci\u00f3n de llamada. Ajuste esta ruta seg\u00fan sus necesidades.<\/p>\n<h3>Agregar inicio de sesi\u00f3n de Google OAuth<\/h3>\n<p>Todos configuramos nuestras configuraciones y bueno seguir adelante. Entonces, creemos archivos <code>index.php<\/code>y <code>logout.php<\/code>en el directorio ra\u00edz de su proyecto.<\/p>\n<p><strong>index.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$adapter-&gt;authenticate();\n\u00a0\u00a0\u00a0\u00a0$userProfile = $adapter-&gt;getUserProfile();\n\u00a0\u00a0\u00a0\u00a0print_r($userProfile);\n\u00a0\u00a0\u00a0\u00a0echo '&lt;a href=\"logout.php\"&gt;Logout&lt;\/a&gt;';\n}\ncatch( Exception $e ){\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage() ;\n}<\/code><\/pre>\n<p>Ahora, cuando ejecuta <code>index.php<\/code>en el navegador, nuestro c\u00f3digo primero verifica si el usuario est\u00e1 autenticado con &#8216;Google&#8217; o no. Si no es as\u00ed, redirige a la p\u00e1gina de inicio de sesi\u00f3n de Google. El usuario tiene que iniciar sesi\u00f3n con su cuenta de Google y luego se le redirigir\u00e1 a la de <code>index.php<\/code>nuevo. Una vez que el usuario llega a la p\u00e1gina de inicio de sesi\u00f3n, obtenemos el perfil de usuario mediante el m\u00e9todo <code>getUserProfile()<\/code>.<\/p>\n<p>En el <code>logout.php<\/code>archivo solo necesitamos desconectar el adaptador de Google.<\/p>\n<p><strong>logout.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0if ($adapter-&gt;isConnected()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$adapter-&gt;disconnect();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Logged out the user';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo '&lt;p&gt;&lt;a href=\"index.php\"&gt;Login&lt;\/a&gt;&lt;\/p&gt;';\n\u00a0\u00a0\u00a0\u00a0}\n}\ncatch( Exception $e ){\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage() ;\n}<\/code><\/pre>\n<p>Esperamos que pueda aprender sobre el <strong>inicio<\/strong> de <strong>sesi\u00f3n de Google OAuth<\/strong> en un sitio web con PHP. Comparta sus pensamientos en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/inicio-de-sesion-de-google-en-laravel-usando-laravel-socialite\/\" title=\"Inicio de sesi\u00f3n de Google en Laravel usando Laravel Socialite\">Inicio de sesi\u00f3n de Google en Laravel usando Laravel Socialite<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-integrar-el-boletin-de-mailchimp-en-la-aplicacion-laravel\/\" title=\"C\u00f3mo integrar el bolet\u00edn de MailChimp en la aplicaci\u00f3n Laravel\">C\u00f3mo integrar el bolet\u00edn de MailChimp en la aplicaci\u00f3n Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel\/\" title=\"C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel\">C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel<\/a><\/li>\n<\/ul>\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>\u00bfDesea agregar Google OAuth Login a su sitio web? En este art\u00edculo, le mostramos c\u00f3mo se puede agregar el inicio de sesi\u00f3n de Google para sitios web utilizando una biblioteca HybridAuth.<\/p>\n","protected":false},"author":1,"featured_media":22248,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[271],"tags":[849],"class_list":["post-27750","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27750","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=27750"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27750\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/22248"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=27750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=27750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=27750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}