Closed salvador-diaz closed 3 months ago
La autenticación y autorización son realizados mediante el servicio OAuth2.0 que ofrece Google. Se procede a desarrollar la integración con la app
Registrar mi aplicación web en Google API Console:
Entonces Google Console provee un client ID y un client secret los cuales identifican a la aplicación. Serán guardados en las variables de entorno como:
const GOOGLE_OAUTH_CLIENTID = "";
const GOOGLE_OAUTH_SECRET = "";
Se ve necesario instalar el gestor de dependencias composer para requerir las siguientes librerías mantenidas por Google:
URI?code=AUTHORIZATION_CODE&...
)De las librerías se destacan las clases:
Se implementan en la nueva carpeta src/services/GoogleAuthController.php
.
carpeta services
Funciones que representan reglas de negocio o lógica específica de la aplicación. Suelen interactuar con una dependencia externa (ej: API externa)
carpeta utils
Funciones de ayuda reutilizables y genéricas.
La sesión del usuario autenticado persiste temporalmente a través de la variable global $_SESSION
.
Se guardan los usuarios autenticados en la tabla user
para llevar un control de los mismos.
CREATE TABLE user (
id int PRIMARY KEY AUTO_INCREMENT,
firstname varchar(255) NOT NULL,
lastname varchar(255) NOT NULL,
email varchar(255) NOT NULL,
img_url varchar(255) NOT NULL,
verified_email int NOT NULL,
google_id varchar(255) NOT NULL,
created_at datetime DEFAULT CURRENT_TIMESTAMP -- fecha-hora actual por defecto
);
Contexto
Actualmente no se discrimina el acceso a recursos según el usuario que accede a la página.
Requisitos