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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.