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

Cómo agregar el inicio de sesión de Google OAuth en un sitio web con PHP

177

Si está ejecutando un sitio web donde un usuario puede registrarse, es posible que desee agregar la función de inicio de sesión de Google OAuth. El inicio de sesión 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ónico, etc.

En este artículo, estudiamos cómo agregar la función de inicio de sesión de Google OAuth a su sitio web.

Obtenga sus credenciales

Para comenzar con la API de inicio de sesión de Google, primero debe crear un proyecto en Google y obtener sus credenciales. A continuación se muestran los pasos que debe realizar para crear el proyecto de Google.

  • Vaya a la Consola para desarrolladores de Google.
  • Haga clic en el menú desplegable y cree un nuevo proyecto haciendo clic en el signo (+). Alternativamente, también puede seleccionar el proyecto existente.
  • Seleccione su proyecto y haga clic en ‘HABILITAR APIS Y SERVICIOS’. En el cuadro de búsqueda, escriba "Google+" y seleccione la API de Google+. Permitirle.
  • De nuevo, acceda al panel de control de su proyecto y seleccione Credenciales en la barra lateral.
  • En la pestaña Credenciales, haga clic en el menú desplegable Crear credenciales y seleccione ID de cliente OAuth.
  • Seleccione la aplicación web en Tipo de aplicación. En las URL de redireccionamiento autorizadas, ingrese la URLYOUR_DOMAIN_URL/index.php
  • Una vez que lo guarde, obtendrá el cuadro de diálogo junto con su ID de cliente y el secreto del cliente. Copie estas claves que necesitaremos en los próximos pasos.

Es posible que observe la URL de redireccionamiento que configuramos en la aplicación. En este tutorial, manejaremos el código de devolución de llamada en index.php. Los usuarios son libres de utilizar cualquier otro archivo para este propósito.

Instalación de la biblioteca HybridAuth

HybridAuth es una biblioteca PHP de inicio de sesión social de código abierto. Usando esta biblioteca, podemos agregar un inicio de sesión social para uno o varios proveedores como Google, Facebook, Twitter, etc.

Cómo agregar el inicio de sesión de Google OAuth en un sitio web con PHP

Instalemos la biblioteca HybridAuth usando un compositor. Cree un composer.jsonarchivo en la carpeta raíz del proyecto y agregue el siguiente código en él.

{
    "require": {
        "hybridauth/hybridauth": "~3.0"
    }
}

A continuación, abra la terminal en el directorio raíz de su proyecto y ejecute el comando:

composer install

Cree el config.phparchivo y agregue el código a continuación para configurar el inicio de sesión de Google.

<?php
require_once 'vendor/autoload.php';
 
$config = [
    'callback' => 'YOUR_DOMAIN_URL/index.php',
    'keys'     => [
                    'id' => 'YOUR_CLIENT_ID',
                    'secret' => 'YOUR_CLIENT_SECRET'
                ],
    'scope'    => 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
    'authorize_url_parameters' => [
            'approval_prompt' => 'force', // to pass only when you need to acquire a new refresh token.
            'access_type' => 'offline'
    ]
];
 
$adapter = new HybridauthProviderGoogle( $config );

Asegúrese de reemplazar los marcadores de posición con los valores reales. En el código anterior pasamos YOUR_DOMAIN_URL/index.phpcomo un valor de devolución de llamada. Ajuste esta ruta según sus necesidades.

Agregar inicio de sesión de Google OAuth

Todos configuramos nuestras configuraciones y bueno seguir adelante. Entonces, creemos archivos index.phpy logout.phpen el directorio raíz de su proyecto.

index.php

<?php
require_once 'config.php';
 
try {
    $adapter->authenticate();
    $userProfile = $adapter->getUserProfile();
    print_r($userProfile);
    echo '<a href="logout.php">Logout</a>';
}
catch( Exception $e ){
    echo $e->getMessage() ;
}

Ahora, cuando ejecuta index.phpen el navegador, nuestro código primero verifica si el usuario está autenticado con ‘Google’ o no. Si no es así, redirige a la página de inicio de sesión de Google. El usuario tiene que iniciar sesión con su cuenta de Google y luego se le redirigirá a la de index.phpnuevo. Una vez que el usuario llega a la página de inicio de sesión, obtenemos el perfil de usuario mediante el método getUserProfile().

En el logout.phparchivo solo necesitamos desconectar el adaptador de Google.

logout.php

<?php
require_once 'config.php';
 
try {
    if ($adapter->isConnected()) {
        $adapter->disconnect();
        echo 'Logged out the user';
        echo '<p><a href="index.php">Login</a></p>';
    }
}
catch( Exception $e ){
    echo $e->getMessage() ;
}

Esperamos que pueda aprender sobre el inicio de sesión de Google OAuth en un sitio web con PHP. Comparta sus pensamientos en la sección de comentarios a continuación.

Artículos relacionados

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