Crear usuarios con Firebase Authentication
Clase 7 de 32 • Curso de Firebase 5 para Web
Contenido del curso
Consola Web de Administración
Autenticación de Usuarios
- 6

Servicios de autenticación de Firebase
06:30 min - 7

Crear usuarios con Firebase Authentication
Viendo ahora - 8

Autenticación de Usuarios con Firebase: Registro y Verificación de Email
15:02 min - 9

Autenticación con Google usando Firebase en aplicaciones web
06:22 min - 10

Login con Facebook en Firebase
09:47 min - 11

Gestión de Autenticación de Usuarios con Firebase
11:42 min - 12

Gestión de usuarios en consola Firebase
05:05 min - 13

Importar y exportar usuarios de Firebase
04:17 min
Gestión de la Base de Datos
- 14

Firestore vs Realtime Database: por qué migrar
08:36 min - 15
Comparación entre Realtime Database y Firestore de Firebase
02:11 min - 16

Habilitar Firestore en Firebase Console
09:53 min - 17

Cómo insertar datos en Firestore con validación
10:53 min - 18

Consultas en Tiempo Real con Firestore para Aplicaciones Web
15:01 min - 19

Operaciones avanzadas de Firestore
13:12 min - 20

Reglas de seguridad básicas en Firestore
08:07 min - 21

Creación y gestión de índices en Firestore para optimizar consultas
07:13 min
Almacenamiento de archivos
Hosting
Notificaciones Push
Conclusiones
Configura autenticación en Firebase con confianza: habilita email y Google, crea usuarios en JavaScript y aplica verificación por correo para proteger el acceso. Aquí verás el flujo completo, buenas prácticas y el uso de métodos clave como createUserWithEmailAndPassword, updateProfile y sendEmailVerification.
¿Cómo habilitar los proveedores de autenticación en Firebase?
Para iniciar, se activan los proveedores desde la consola de autenticación. Se habilita correo electrónico y contraseña y también Google. Se confirma que ambos queden en estado habilitado. Además, se valida que ya exista un correo de asistencia y el nombre del proyecto.
- Abrir la consola de autenticación y ubicar proveedores de inicio de sesión.
- Habilitar correo electrónico y contraseña. Guardar.
- Habilitar Google. Guardar.
- Confirmar estado “habilitada”.
- Opcional no usado: enlace mágico al correo para autenticación sin contraseña.
Clave a recordar: para este proyecto se usará email y contraseña, solicitando siempre credenciales al usuario.
¿Cómo crear usuarios con email y password en JavaScript?
Se trabaja en un módulo de autenticación con una clase en JavaScript que expone funciones para crear cuenta y autenticar con email y password. Se usa la librería de Firebase: firebase.auth() provee métodos para gestionar usuarios y sesiones. El registro devuelve una promesa que se maneja de forma asíncrona.
- Servicio usado: Firebase Authentication con firebase.auth().
- Método principal: crear usuario con createUserWithEmailAndPassword(email, password).
- Flujo: crear usuario, actualizar perfil con displayName, enviar email de verificación, hacer sign out, y notificar con Materialize.
¿Qué hace createUserWithEmailAndPassword?
Crea un usuario con email y contraseña y retorna un resultado con el usuario autenticado. Luego se actualiza el displayName con updateProfile y se envía verificación con sendEmailVerification configurando una URL de continuación a tu app (por ejemplo, localhost:3000) para mejorar la experiencia.
// En el módulo/clase de autenticación
function crearCuentaEmailPassword(email, password, nombres) {
firebase.auth()
.createUserWithEmailAndPassword(email, password)
.then((result) => {
return result.user.updateProfile({ displayName: nombres })
.then(() => {
const configuracion = { url: 'http://localhost:3000' };
return result.user.sendEmailVerification(configuracion);
})
.then(() => {
return firebase.auth().signOut();
})
.then(() => {
M.toast({ html: 'Bienvenido. Revisa tu correo y verifica tu cuenta.', displayLength: 4000 });
// Cerrar ventana/modal si aplica.
});
})
.catch((error) => {
console.error(error);
M.toast({ html: error.message, displayLength: 4000 });
});
}
¿Cómo capturar errores y notificar?
Se capturan errores en el catch, se imprime en consola y se muestra al usuario con Materialize usando error.message durante 4 segundos. Mensajes breves y claros mejoran la guía del usuario.
¿Qué buenas prácticas y controles se aplican tras el registro?
En autenticación solo se almacenan: email, password, URL de foto y nombre (displayName). Datos adicionales como número de celular o fecha de nacimiento deben ir en la base de datos, relacionados por el identificador único (UID) que crea Firebase.
- Actualizar el nombre con updateProfile para mostrarlo en la app.
- Enviar verificación con sendEmailVerification y configurar botón de continuar hacia tu sitio.
- Forzar logout con signOut tras registro para impedir acceso sin verificar.
- Mostrar un mensaje de bienvenida y recordar la verificación por correo.
- Cerrar la ventana/modal después del mensaje.
Conexión con la interfaz: el botón Registrarse del controller debe instanciar la clase de autenticación y llamar al método que crea la cuenta, pasando email, password y nombres en ese orden.
// En el controller
document.getElementById('btn-registrarse').addEventListener('click', () => {
const email = /* obtener del formulario */;
const password = /* obtener del formulario */;
const nombres = /* obtener del formulario */;
const auth = new Autenticacion();
auth.crearCuentaEmailPassword(email, password, nombres);
});
¿Tienes dudas sobre el flujo o quieres compartir cómo gestionas la verificación por correo en tu proyecto? Comenta y conversemos soluciones.