Autenticación Segura con Microsoft Entra ID para Desarrolladores TypeScript

Descubre cómo integrar Next.js con Microsoft Entra ID y validar JWT en un backend Node/TypeScript mediante JWKS, para una arquitectura frontend-backend segura.

26 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Aplicaciones modernas rara vez funcionan de forma aislada y requieren una arquitectura segura para proteger la experiencia del usuario y los datos sensibles. En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud aws y azure, implementamos patrones que separan frontend y backend y garantizan que solo usuarios autenticados accedan a recursos protegidos. Aquí explicamos cómo integrar Next.js con Microsoft Entra ID y validar tokens JWT desde un backend en Node y TypeScript.

Arquitectura general y flujo de autenticación 1) El usuario abre la aplicación Next.js y solicita iniciar sesión. 2) NextAuth redirige al usuario a Microsoft Entra ID para autenticación. 3) Entra ID emite un ID Token y un Access Token hacia el frontend. 4) El frontend añade el Access Token en el header Authorization: Bearer TOKEN y llama a la API backend. 5) El backend valida el JWT contra el JWKS publicado por Entra ID y, si es válido, permite el acceso a rutas protegidas; si no, responde 401 Unauthorized.

Registro de la aplicación en Microsoft Entra ID en Azure Portal vaya a App registrations y cree una nueva aplicación con los siguientes valores ejemplo Nombre: nextjs-auth-app Redirect URI: https://localhost:3000/api/auth/callback active ID tokens y Access tokens después de crear la app anote Application client ID y Directory tenant ID y genere un Client Secret en Certificates & secrets

Frontend Next.js con NextAuth instalación npm install next-auth @azure/msal-node variables de entorno ejemplo AZURE_AD_CLIENT_ID=CLIENT_ID AZURE_AD_CLIENT_SECRET=CLIENT_SECRET AZURE_AD_TENANT_ID=TENANT_ID NEXTAUTH_URL=https://localhost:3000 NEXTAUTH_SECRET=CLAVE_ALEATORIA en la configuración de NextAuth utilice el proveedor Azure AD y configure session strategy usando JWT. En los callbacks almacene access_token en el token JWT y propáguelo al objeto session para que el frontend pueda enviar el Access Token al backend.

Consumo de la API desde el cliente use useSession desde next-auth para obtener session y luego haga fetch a la API segura incluyendo el header Authorization con Bearer TOKEN ejemplo fetch a https://localhost:4000/api/secure-data con headers Authorization: Bearer TOKEN y procese la respuesta JSON para mostrar datos protegidos al usuario autenticado

Backend en Node y TypeScript instalación npm install express jsonwebtoken jwks-rsa express-jwt npm install -D @types/express @types/jsonwebtoken en Express cree un middleware de validación JWT usando jwks-rsa para obtener las claves públicas desde la URL JWKS ejemplo https://login.microsoftonline.com/TENANT_ID/discovery/v2.0/keys y configure audience con el Application client ID y issuer con https://login.microsoftonline.com/TENANT_ID/v2.0 utilice el algoritmo RS256 Si el token es válido deje pasar la petición y devuelva los datos sensibles; si no devuelva 401 Unauthorized

Prueba local ejecute el backend en el puerto 4000 y el frontend en el puerto 3000 acceda a la ruta protegida en Next.js inicie sesión con su cuenta corporativa y confirme que el backend valida el token y devuelve la respuesta autorizada

Buenas prácticas protección de secretos nunca exponga client secret en el frontend guarde credenciales en variables de entorno y en servicios de secretos sesiones seguras prefiera cookies httpOnly o JWT gestionados por NextAuth validación rigurosa configure correctamente audience y issuer para evitar tokens mal emitidos observabilidad registre intentos de autenticación fallidos y errores para facilitar auditoría y depuración escalabilidad este patrón facilita añadir múltiples microservicios que validen tokens sin depender del frontend

Extensiones y recomendaciones puede integrar llamadas a Microsoft Graph API desde servicios backend validados o escalar a microservicios que consuman el mismo esquema de tokens para mantener una arquitectura coherente y segura Si necesita un desarrollo a medida visite nuestra página de software a medida y si busca soluciones de inteligencia artificial para empresas conozca nuestros servicios de inteligencia artificial

Sobre Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software enfocada en aplicaciones a medida, servicios cloud aws y azure, ciberseguridad, servicios inteligencia de negocio y soluciones de ia para empresas. Ofrecemos desde aplicaciones corporativas hasta agentes IA y proyectos con Power BI para inteligencia de negocio. Contamos con experiencia en arquitectura segura de identidad, integración con proveedores de identidad y despliegue en la nube para mantener la confidencialidad integridad y disponibilidad de sus datos

Conclusión adoptar Microsoft Entra ID como proveedor central de identidad junto a Next.js en el frontend y un backend Node TypeScript que valide JWT mediante JWKS proporciona un flujo seguro de extremo a extremo. Este patrón protege datos sensibles y permite escalar hacia microservicios o integrar funcionalidades avanzadas como agentes IA o paneles con power bi manteniendo cumplimiento y controles de seguridad. Si desea que Q2BSTUDIO le acompañe en la implementación de esta arquitectura o en proyectos de ciberseguridad y automatización, podemos ayudar a diseñar e implementar la solución adecuada para su negocio

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

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.