Autenticación de Usuarios con Google OAuth en PHP

Introducción a OAuth y su importancia

OAuth 2.0 es un estándar de autorización ampliamente adoptado que permite a las aplicaciones acceder de manera segura a recursos protegidos en nombre de un usuario, sin necesidad de manejar contraseñas directamente. En el contexto de PHP, Google OAuth proporciona un mecanismo seguro para autenticarse utilizando cuentas de Google, mejorando la experiencia del usuario al evitar formularios de registro tradicionales. Este tutorial te guiará paso a paso para implementar Google OAuth en tu aplicación web, habilitando la autenticación segura de usuarios.

Tutorial paso a paso
Requisitos previos

  • Tener Composer instalado para gestionar dependencias.
  • Un servidor web con PHP y HTTPS configurado.
  • Cuenta de Google Cloud Platform (GCP) para configurar la API de Google.

Paso 1: Configurar un proyecto en Google Cloud Platform

  • Ve a Google Cloud Console.
  • Crea un proyecto y actívalo.
  • Navega a APIs y servicios > Pantalla de consentimiento de OAuth: o Configura la pantalla de consentimiento: nombre, correo y URL de soporte.
  • Dirígete a Credenciales > Crear credenciales > ID de cliente de OAuth:
    o Tipo de aplicación: Aplicación web.
    o URI de redirección: https://tu-dominio.com/callback.php.

Guarda las claves generadas: Client ID y Client Secret.

Paso 2: Instalar la biblioteca de Google Client

Usa Composer para instalar la biblioteca oficial de Google:

Paso 3: Configurar el cliente de Google en PHP

Crea un archivo config.php para inicializar el cliente de Google:

Paso 4: Crear el flujo de inicio de sesión

Crea un archivo y nómbralo  login.php. Este archivo redirige al usuario a la página de autenticación de Google.

Paso 5: Procesar la respuesta de Google

Archivo callback.php: Aquí se obtiene el token de acceso y la información del usuario.

Paso 6: Implementar sesiones para usuarios autenticados

Crea un archivo y nómbralo dashboard.php. Este archivo se encarga de mostrar información del usuario logueado. Nombre, correo y la imagen de perfil.

Paso 7: Cerrar la sesión para los usuario logueados

Finalmente crea un archivo y nómbralo  logout.php. Este archivo destruirá la sesión previamente creada.

Este tutorial proporciona una base sólida para integrar Google OAuth en tus proyectos PHP, facilitando el inicio de sesión seguro y mejorando la experiencia del usuario. Además, esta implementación puede servir como punto de partida para extender funcionalidades, como el almacenamiento de usuarios en una base de datos, la gestión de roles o la personalización de dashboards. Con estos conocimientos, estarás mejor preparado para desarrollar aplicaciones más seguras y centradas en el usuario.

 

Este tutorial te servirá como guía para implementarlo en alguno de nuestros sistemas previamente creados,  ejemplo:

Sistema de Inventario Simple con PHP