OIDC con .NET para MongoDB Atlas

Guía de integración OpenID Connect en .NET con MongoDB Atlas usando Azure EntraID y Atlas Workforce Federation para garantizar acceso seguro solo a usuarios autorizados con credenciales de Microsoft.

24 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat