Opensesame
Servicio simple de autenticación y gestión de usuarios.
OpenSesame
Un servicio de autenticación y gestión de usuarios construido por mí mismo, con roles y permisos integrados.
Aplicación · Código frontend · Código backend
Todo producto eventualmente necesita responder a: “¿quién es este usuario y qué está autorizado a hacer?” En lugar de recurrir a un proveedor de autenticación de terceros, construí esa parte yo mismo: una API de autenticación basada en JWT combinada con una consola de administración para gestionar usuarios, roles y permisos granulares.
Qué hace
- Iniciar y cerrar sesión con JWT emitido como cookies httpOnly — sin tokens guardados en localStorage
- Control de acceso de dos capas: roles generales
admin/usermás permisos granulares por usuario - Consola de administración para listar, buscar e inspeccionar usuarios
- Los administradores aprovisionan nuevas cuentas, fuerzan restablecimiento de contraseñas y otorgan o revocan roles/permisos
- Los usuarios pueden cambiar su propia contraseña una vez iniciada la sesión



Cómo está construido
Un frontend React 19 + TypeScript (React Router v7, estado basado en Context, Axios sobre autenticación por cookies) que se comunica con una API Node/Express + TypeScript respaldada por MongoDB. La API está protegida con helmet, lista blanca CORS, limitación de velocidad, validación de solicitudes y hash de contraseña con bcrypt.
- Demo del stack completo en un comando — un stack de Docker Compose pone en marcha MongoDB, la API de autenticación y el frontend juntos, con un usuario administrador de demostración, para que cualquiera pueda probar todo localmente en minutos.
- CI y puerta de seguridad — cada push y PR ejecuta un pipeline de verificación completo (auditoría, linting, verificación de tipos, pruebas, compilación) en ambos repositorios, más escaneo de secretos con gitleaks antes de que cualquier cosa se fusione.
Prueba la aplicación, o ejecuta la demostración de Docker tú mismo.