Skip to content

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 POST al checkEmailEndpoint, pasandole en el body el email para asi verificar si el correo proporcionado ya está registrado.
  • Si el correo existe, se establece emailExists como true y se inicia sesión con el correo existente utilizando la función loginUser.
  • 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 POST al backendEndpoint.
  • 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 origin indicaremos 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.