Login con Google
Desde el fichero GoogleLoginButton.vue el cúal contiene el llamado a la api de Google y el componente del botón,
llamamos a la función registerLoginGoogle ubicada en el fichero loginSocialApiServices.js, pasandole como parametro
el “response” del llamado a la api de Google.
Explicación de la función registerLoginGoogle
Este archivo maneja la lógica para el registro y login de usuarios registrados con una cuenta de Google.
La función registerLoginGoogle se encarga primero de comprobar si el email proporcionado en el parametro esta registrado en la bbdd.
Esta comprobacion se hace a traves del api/checkemail, plugin utilizado en el backend para (entre otras cosas) la comprobacion de la
existencia de un email en la bbdd. En caso de no estar registrado en la bbdd envia los datos del usuario proporcionados por la api de
Google al endppoint api/auth/local/registerpara su registro.
Detalles de la función
Variables y Endpoints
checkEmailEndpoint: Endpoint utilizado para verificar la existencia del correo electrónico.backendEndpoint: Endpoint utilizado para registrar nuevos usuarios en el backend.emailExists: Variable booleana para verificar si el correo electrónico ya está registrado.
Verificación de Correo Electrónico
- Se realiza una petición
POSTalcheckEmailEndpoint, pasandole en el body el email para asi verificar si el correo proporcionado ya está registrado. - Si el correo existe, se establece
emailExistscomo true y se inicia sesión con el correo existente utilizando la funciónloginUser. - En caso de error durante la verificación, se lanza una excepción.
Registro de Nuevo Usuario
- Si el correo no existe, se preparan los datos del usuario y se envían mediante una petición
POSTalbackendEndpoint. - Se pasan como parametros los datos del usuario proporcionados por la api de Google, como password usaremos el ID del usuario, y en el campo
originindicaremos de donde proviene el registro, en este caso “google”. - Se maneja el caso en el que la respuesta del backend no sea exitosa, lanzando una excepción.
- Se captura el token de autenticación (
JWT) desde la respuesta del servidor por si se requiere su uso a futuro.
Manejo de Errores
- Se manejan posibles errores durante el proceso de verificación y registro, lanzando excepciones con mensajes descriptivos.
Resumen
En resumen, la función registerLoginGoogle maneja la lógica para verificar la existencia de un correo electrónico en el sistema antes de registrar un nuevo usuario,
y posteriormente envía los datos del usuario al backend para su registro.