En esta sección, aprenderemos cómo gestionar usuarios en Firebase Authentication. Esto incluye la creación, actualización y eliminación de usuarios, así como la recuperación de contraseñas y la verificación de correos electrónicos.

Conceptos Clave

  1. Creación de usuarios: Añadir nuevos usuarios a tu aplicación.
  2. Actualización de usuarios: Modificar la información de los usuarios existentes.
  3. Eliminación de usuarios: Eliminar usuarios de tu aplicación.
  4. Recuperación de contraseñas: Permitir a los usuarios restablecer sus contraseñas.
  5. Verificación de correos electrónicos: Confirmar la dirección de correo electrónico de los usuarios.

Creación de Usuarios

Para crear un nuevo usuario con correo electrónico y contraseña, puedes usar el método createUserWithEmailAndPassword de Firebase Authentication.

Ejemplo de Código

firebase.auth().createUserWithEmailAndPassword(email, password)
  .then((userCredential) => {
    // Usuario creado exitosamente
    var user = userCredential.user;
    console.log("Usuario creado:", user);
  })
  .catch((error) => {
    var errorCode = error.code;
    var errorMessage = error.message;
    console.error("Error al crear usuario:", errorCode, errorMessage);
  });

Explicación

  • email: La dirección de correo electrónico del nuevo usuario.
  • password: La contraseña del nuevo usuario.
  • userCredential: El objeto que contiene la información del usuario creado.
  • user: El objeto de usuario que contiene detalles como el UID (identificador único del usuario).

Actualización de Usuarios

Para actualizar la información de un usuario, puedes usar el método updateProfile.

Ejemplo de Código

var user = firebase.auth().currentUser;

user.updateProfile({
  displayName: "Nombre de Usuario",
  photoURL: "https://example.com/jane-q-user/profile.jpg"
}).then(() => {
  // Actualización exitosa
  console.log("Perfil actualizado");
}).catch((error) => {
  // Error al actualizar el perfil
  console.error("Error al actualizar perfil:", error);
});

Explicación

  • displayName: El nombre que se mostrará para el usuario.
  • photoURL: La URL de la foto de perfil del usuario.

Eliminación de Usuarios

Para eliminar un usuario, puedes usar el método delete.

Ejemplo de Código

var user = firebase.auth().currentUser;

user.delete().then(() => {
  // Usuario eliminado exitosamente
  console.log("Usuario eliminado");
}).catch((error) => {
  // Error al eliminar el usuario
  console.error("Error al eliminar usuario:", error);
});

Recuperación de Contraseñas

Para permitir a los usuarios restablecer sus contraseñas, puedes usar el método sendPasswordResetEmail.

Ejemplo de Código

var auth = firebase.auth();
var emailAddress = "[email protected]";

auth.sendPasswordResetEmail(emailAddress).then(() => {
  // Correo de restablecimiento de contraseña enviado
  console.log("Correo de restablecimiento de contraseña enviado");
}).catch((error) => {
  // Error al enviar el correo de restablecimiento de contraseña
  console.error("Error al enviar correo de restablecimiento de contraseña:", error);
});

Verificación de Correos Electrónicos

Para enviar un correo de verificación a un usuario, puedes usar el método sendEmailVerification.

Ejemplo de Código

var user = firebase.auth().currentUser;

user.sendEmailVerification().then(() => {
  // Correo de verificación enviado
  console.log("Correo de verificación enviado");
}).catch((error) => {
  // Error al enviar el correo de verificación
  console.error("Error al enviar correo de verificación:", error);
});

Ejercicios Prácticos

Ejercicio 1: Crear y Actualizar un Usuario

  1. Objetivo: Crear un nuevo usuario y actualizar su perfil.
  2. Instrucciones:
    • Usa createUserWithEmailAndPassword para crear un nuevo usuario.
    • Usa updateProfile para actualizar el nombre y la foto de perfil del usuario.

Ejercicio 2: Recuperación de Contraseña

  1. Objetivo: Implementar la funcionalidad de recuperación de contraseña.
  2. Instrucciones:
    • Usa sendPasswordResetEmail para enviar un correo de restablecimiento de contraseña a un usuario.

Ejercicio 3: Verificación de Correo Electrónico

  1. Objetivo: Implementar la funcionalidad de verificación de correo electrónico.
  2. Instrucciones:
    • Usa sendEmailVerification para enviar un correo de verificación a un usuario.

Soluciones

Solución al Ejercicio 1

// Crear un nuevo usuario
firebase.auth().createUserWithEmailAndPassword("[email protected]", "password123")
  .then((userCredential) => {
    var user = userCredential.user;
    console.log("Usuario creado:", user);

    // Actualizar el perfil del usuario
    return user.updateProfile({
      displayName: "Nuevo Usuario",
      photoURL: "https://example.com/new-user/profile.jpg"
    });
  })
  .then(() => {
    console.log("Perfil actualizado");
  })
  .catch((error) => {
    console.error("Error:", error);
  });

Solución al Ejercicio 2

var auth = firebase.auth();
var emailAddress = "[email protected]";

auth.sendPasswordResetEmail(emailAddress).then(() => {
  console.log("Correo de restablecimiento de contraseña enviado");
}).catch((error) => {
  console.error("Error al enviar correo de restablecimiento de contraseña:", error);
});

Solución al Ejercicio 3

var user = firebase.auth().currentUser;

user.sendEmailVerification().then(() => {
  console.log("Correo de verificación enviado");
}).catch((error) => {
  console.error("Error al enviar correo de verificación:", error);
});

Conclusión

En esta sección, hemos aprendido cómo gestionar usuarios en Firebase Authentication. Esto incluye la creación, actualización y eliminación de usuarios, así como la recuperación de contraseñas y la verificación de correos electrónicos. Estos conceptos son fundamentales para cualquier aplicación que requiera autenticación de usuarios. En el próximo módulo, exploraremos la base de datos en tiempo real de Firebase, donde aprenderemos a leer y escribir datos de manera eficiente.

Curso de Firebase

Módulo 1: Introducción a Firebase

Módulo 2: Autenticación de Firebase

Módulo 3: Base de datos en tiempo real de Firebase

Módulo 4: Cloud Firestore

Módulo 5: Almacenamiento de Firebase

Módulo 6: Mensajería en la nube de Firebase

Módulo 7: Análisis de Firebase

Módulo 8: Funciones de Firebase

Módulo 9: Monitoreo de rendimiento de Firebase

Módulo 10: Laboratorio de pruebas de Firebase

Módulo 11: Temas avanzados de Firebase

© Copyright 2024. Todos los derechos reservados