Introducción
Autenticación y registro de usuarios simplificados.
🎯 ¿Qué hace este módulo?
El módulo AuthProvider se encarga de todo lo relacionado con la autenticación de usuarios: iniciar sesión, registrarse, gestión de contraseñas y mantener la sesión iniciada de forma segura.
Piénsalo como el guardia de seguridad de tu aplicación: verifica quién es quién, permite la entrada a los usuarios autorizados y mantiene a los malos afuera.
📖 Explicación Simple
Cuando los usuarios quieren:
- 👤 Registro de Usuario - Crear nuevas cuentas de usuario
- 🔐 Autenticación - Inicio de sesión y gestión de sesiones
- 🔑 Cambiar contraseña
- 🚪 Cerrar sesión de forma segura
- ✉️ Verificar correo electrónico con códigos de activación
- 🔒 Seguridad - Hashing de contraseñas, gestión de tokens
... ¡este módulo hace todo el trabajo pesado!
El problema de construir la gestión de autenticación de usuarios desde cero:
❌ Sin hashing de contraseñas
❌ Sin validación
❌ Sin verificación de duplicados
❌ Sin verificación de correo electrónico
❌ Comparación de contraseñas insegura
❌ Sin gestión de sesiones
❌ Sin limitación de tasa
Problemas:
- 🔒 Inseguro - Sin hashing de contraseñas, vulnerable a ataques
- 📋 Sin validación - Se pueden almacenar datos incorrectos
- 🔄 Sin autenticación - Sin sesiones ni tokens
- 💾 Sin persistencia - Datos perdidos al reiniciar
La solución de AuthProvider:
✅ Bueno - Gestión de autenticación segura
OneEntry automáticamente:
- Hashes la contraseña de forma segura
- Valida el formato del correo electrónico
- Verifica duplicados
- Almacena datos de usuario de forma persistente
- Proporciona tokens de autenticación
Cómo funciona:
El usuario se registra → AuthProvider crea la cuenta → Envía el código de activación por correo electrónico ✅
El usuario inicia sesión → AuthProvider verifica las credenciales → Devuelve los tokens de acceso ✅
✨ Características Clave
| Característica | Qué Hace | Ejemplo de Uso |
|---|---|---|
| 🔐 Registro de Usuario | Crear nuevas cuentas de usuario | Formulario de registro |
| 🚪 Inicio/Cierre de Sesión | Autenticar usuarios | Página de inicio de sesión |
| 🔑 Gestión de Contraseñas | Cambiar y restablecer contraseñas | Flujo de olvido de contraseña |
| 🎫 Gestión de Tokens | Mantener a los usuarios conectados de forma segura | Sesiones de auto-renovación |
| ✉️ Verificación de Correo | Enviar códigos de activación | Verificar correo después del registro |
| 🌍 Multilenguaje | Soporte para diferentes idiomas | Aplicaciones internacionales |
Flujo de Autenticación
1. El usuario ingresa correo electrónico + contraseña
↓
2. Se llama a auth()
↓
3. OneEntry verifica las credenciales
(Compara contraseñas hasheadas)
↓
4. Devuelve el token de autenticación
(JWT o token de sesión)
↓
5. Token almacenado del lado del cliente
(localStorage, cookie, memoria)
↓
6. Token enviado con las solicitudes
(Encabezado de autorización)
↓
7. Token validado por el servidor
(Verifica expiración, firma)