App Impulsada por Cursor Parte 4 Lógica de Autenticación

Descubre autenticación con sesiones y JWT: validación de credenciales, generación y rotación de tokens, revocación en Redis y DI con Wire. Casos: login, refresh y logout.

17 ago 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Construyendo una aplicación Potenciada por Cursor Devlog Parte 4 Autenticación: en esta entrega repasamos la lógica de autenticación que protege nuestras APIs y habilita sesiones seguras para usuarios.

En el dominio de autenticación las piezas principales son las credenciales y la sesión. La credencial representa la entrada necesaria para iniciar sesión: email y contraseña. La sesión es el resultado exitoso del inicio de sesión y contiene dos tokens: access_token y refresh_token.

La responsabilidad del dominio de autenticación es la lógica de negocio: validar credenciales, generar tokens JWT, gestionar la lógica de refresh y revocar tokens. Todo esto se realiza sin depender de HTTP ni formatos de transporte para mantener un dominio puro y testeable.

Definición práctica de Credencial: campos email y password validados antes de cualquier proceso. Buenas prácticas: no almacenar credenciales, validar ambos campos y verificar la contraseña contra el hash almacenado del usuario. El método Verify compara la contraseña proporcionada con la contraseña cifrada del usuario y devuelve error si no coinciden.

Objeto Sesión: incluye AccessToken y RefreshToken. AccessToken se usa para acceso a APIs por un periodo corto, RefreshToken para obtener nuevos access tokens. Se recomienda implementar rotación de refresh tokens para mayor seguridad y evitar exponer detalles sensibles en logs.

Generamos dos tokens y almacenamos su metadata en Redis para tener control total del ciclo de vida de cada token. El objeto Sesión contiene metadatos como exp expiración, nbf not before, jti identificador único, user_id identificador del usuario y link_id que enlaza un access token con su refresh token para revocación conjunta.

Los tokens tienen reglas de tiempo: el access_token es de corta duración por ejemplo 2 horas; el refresh_token dura más por ejemplo 48 horas y puede estar bloqueado los primeros 2 horas mediante nbf para evitar refrescos prematuros.

Claves de almacenamiento en Redis: access:jti y refresh:jti que apuntan a los metadatos correspondientes. Gracias a Redis podemos revocar tokens instantáneamente; si se elimina la entrada asociada, el token deja de ser válido en la siguiente petición.

Por qué importa esta arquitectura: permite aplicar expiración y not before, revocación inmediata, revocar ambos tokens usando link_id y evitar confiar a ciegas en tokens del cliente. Cada token se valida contra Redis para mayor seguridad.

Casos de uso implementados: login, refresh token y logout. En el login se reciben email y password y se comprueban frente a un usuario temporal hardcodeado para pruebas. Si la validación es correcta se emite un par de tokens: access y refresh con sus tiempos configurados.

En refresh token la API recibe el refresh token, valida nbf y exp, emite un nuevo par de tokens y revoca el refresh token antiguo para hacerlo de uso único, mitigando el riesgo de reutilización por un atacante.

En logout la API recibe el access token desde el header Authorization Bearer, revoca el access token y usa link_id para localizar y revocar el refresh token asociado, garantizando que ambos tokens queden inutilizables.

Para el ensamblado de dependencias usamos Google Wire como herramienta de inyección de dependencias. Con Wire definimos un conjunto UseCaseSet que agrupa configuración, cliente Redis, adaptador Redis, repositorios, generador de tokens y los casos de uso de autenticación. Wire construye el contenedor final que facilita testing y evita cableado manual de dependencias.

Ventajas de este enfoque: elimina el wiring manual de dependencias, facilita pruebas cambiando implementaciones por mocks, evita dependencias ocultas y mantiene el sistema modular y mantenible. UseCaseSet es el plano y Wire el constructor que produce un contenedor listo para usar.

Este devlog usa por ahora un usuario hardcodeado solo para acelerar la demostración. La mecánica de tokens ya es de estilo producción y cuando integremos la base de datos la autenticación pasará a validar usuarios reales manteniendo la misma lógica de sesiones y revocación basada en Redis.

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos experiencia en inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones con power bi. Integramos seguridad, rendimiento y buenas prácticas para entregar productos escalables y alineados con objetivos de negocio.

Si buscas integrar autenticación robusta en tus proyectos o desarrollar aplicaciones a medida con capacidades de inteligencia artificial y ciberseguridad, en Q2BSTUDIO diseñamos arquitecturas seguras con sesiones controladas, rotación de refresh tokens y visibilidad operativa mediante almacenamiento en Redis y monitoreo de servicios cloud aws y azure.

Palabras clave para mejorar posicionamiento: aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi.

Próximos pasos: llevar esta capa de autenticación al nivel de presentación. Los endpoints REST y la documentación con Swagger permitirán que el mundo exterior consuma nuestros servicios de forma segura, mientras seguimos reforzando aspectos como auditoría, métricas y soporte para múltiples proveedores cloud.

En resumen, con una capa de autenticación basada en sesiones, tokens JWT y almacenamiento en Redis, más un contenedor de dependencias construido con Wire, obtenemos un sistema modular, seguro y listo para integrarse en aplicaciones a medida y soluciones de inteligencia artificial ofrecidas por Q2BSTUDIO.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.