POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

OIDC con .NET para MongoDB Atlas

Integración de OpenID Connect (OIDC) en .NET con MongoDB Atlas y Azure EntraID mediante Workforce Federation

Publicado el 24/09/2025

Este artículo explica cómo integrar OpenID Connect OIDC en una aplicación .NET que usa MongoDB Atlas, utilizando Azure EntraID como proveedor de identidad, y cómo configurar Atlas Workforce Federation para permitir que solo usuarios autorizados accedan a la base de datos con sus credenciales de Microsoft.

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones seguras y escalables. Si necesita un proyecto a medida podemos ayudarle con arquitecturas en la nube y autenticación empresarial como esta, consulte nuestra propuesta de Desarrollo de aplicaciones a medida para más información.

Resumen de requisitos previos: una suscripción empresarial de Azure para obtener el client id y el documento OIDC metadata; un clúster MongoDB Atlas M10 o superior con Workforce Federation configurado; un usuario de base de datos vinculado a EntraID; y las cadenas de conexión base añadidas a appsettings en la aplicación .NET. La configuración de Workforce Federation en Atlas debe mostrar el proveedor de identidad con estado completo y el usuario de base de datos debe coincidir con el Tenant ID de EntraID.

Paquetes NuGet necesarios: Microsoft.Identity.Web, Microsoft.Identity.Web.UI, Microsoft.AspNetCore.Authentication.OpenIdConnect y Microsoft.Identity.Client. Estos facilitan la integración OIDC en una app .NET 9 Blazor y añaden las utilidades para gestionar tokens y flujos de autenticación.

Configuración de la aplicación: añadir a appsettings la sección AzureEntraID con Authority Domain ClientId ClientSecret CallbackPath y RedirectUri usando los valores de su tenant; no disparar secretos en repositorios públicos. En Program.cs configurar Microsoft Identity Web para autenticar con OpenIdConnect, habilitar adquisición de tokens para llamar APIs downstream, añadir cache distribuida en memoria y definir políticas de autorización por defecto. Registrar servicios de Blazor interactivo y cambiar la vida del servicio MongoDBService a scoped en lugar de singleton para evitar conflictos con servicios autenticados.

Cambios en el servicio de MongoDB: inyectar IHttpContextAccessor e ITokenAcquisition para obtener el contexto HTTP del usuario y solicitar el access token con Microsoft.Identity.Web. Implementar un método InitializeAsync que: compruebe existencia de HttpContext, pida el token con los scopes adecuados usando el client id, construir una cadena de conexión autenticada añadiendo authMechanism=MONGODB-OIDC y authSource=$external, crear MongoClient usando las MongoClientSettings y pasar una credencial OIDC que entregue el token obtenido, y finalmente ejecutar un ping a admin para validar la conexión y seleccionar la base y colección correspondiente. Implementar una clase callback simple que implemente IOidcCallback para devolver el token a la librería MongoDB cuando lo requiera.

Interfaz de usuario: añadir una página Login en Blazor que inicie el flujo de autenticación y, una vez autenticado el usuario, invoque MongoDBService.InitializeAsync para establecer la conexión con Atlas. Además, mostrar el nombre del usuario en la cabecera de la home inyectando AuthenticationStateProvider y leyendo identity.name para que el usuario vea que su sesión está activa.

Pruebas: ejecutar la aplicación localmente, iniciar sesión con una cuenta del tenant configurado en EntraID y verificar que al autenticarse la aplicación se redirige a la home y muestra el nombre del usuario. Durante pruebas recuerde limpiar caché y cookies entre ejecuciones si usa la librería MSAL sin mecanismo de cache persistente para evitar errores de sesión.

Compatibilidad y buenas prácticas: aunque el ejemplo usa Azure EntraID, Atlas Workforce Federation funciona también con proveedores OIDC de AWS y Google Cloud siempre que aporte client id client secret y la metadata OIDC. Para producción recuerde añadir almacenamiento seguro de secretos, cache de tokens y políticas de renovación, así como monitorización y pruebas de seguridad.

Seguridad adicional: puede combinar esta integración OIDC con mecanismos avanzados como Queryable Encryption para cifrado cliente lado cliente y en reposo, sin perder la capacidad de consulta sobre campos cifrados. Para estrategias de ciberseguridad y pruebas de intrusión podemos ayudarle desde Q2BSTUDIO con servicios especializados, más información en nuestra página de Servicios cloud AWS y Azure y en soluciones de ciberseguridad y pentesting.

Palabras clave y servicios: 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. En Q2BSTUDIO diseñamos e implementamos soluciones que combinan autenticación empresarial, cloud y analítica avanzada para ofrecer proyectos robustos y escalables adaptados a su organización.

Si quiere que implementemos esta integración en su proyecto o que evaluemos la arquitectura y la seguridad de su sistema, contacte con Q2BSTUDIO y le asesoramos sobre la mejor estrategia técnica y de negocio para su caso.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio