Implementación de Azure B2C y KeyCloak: Guía para la Gestión de Identidad y Acceso

La gestión de identidades y accesos (IAM) es un componente crítico de la infraestructura de seguridad de cualquier organización moderna. Azure Active Directory B2C (Azure B2C) y KeyCloak son dos soluciones líderes que ayudan a las empresas a administrar y proteger las identidades de usuario en aplicaciones y servicios. Este artículo está diseñado para servir como una referencia profesional y detallada, facilitando la comprensión y ejecución de la integración entre Azure B2C y KeyCloak.

Azure B2C es un servicio altamente personalizable para la gestión de identidades de clientes, proporcionando funcionalidades de inicio de sesión y registro, mientras que KeyCloak es una solución de código abierto que ofrece capacidades de Single Sign-On (SSO) y soporte para varios protocolos de autenticación. La combinación de estas tecnologías permite a las organizaciones ofrecer una experiencia de usuario segura y coherente.

Este artículo actúa como un recurso conciso y accesible, destinado a ser tu asistente de consulta cuando abordes la tarea de integrar estas plataformas. Al servir como un «segundo cerebro», te ayudará a recordar y aplicar los pasos clave y consideraciones técnicas necesarias para una implementación exitosa, asegurando que tus sistemas IAM cumplan con los estándares de la industria y las expectativas de los usuarios.

Crear un Tenat de Azure B2C

Entramos en el Tenant y desde el recurso Azure B2C creamos un User Flow:

Creamos la app de WebAPIDemo:

Creamos la app de WebAppDemo:

Ahora vamos a asociar GitHub como un nuevo Identity Provider (IDP):

Y asociamos la aplicación de GitHub:

Antes de poder probar el flow con el nuevo IDP tendrás que permitir que el Flow pueda usarlo:

Probamos el flujo desde Azure B2C:

Ahora llega el turno a la instalación de KeyCloak en un Azure App Service, este será nuestro segundo IDP:

Configuramos el Cliente en KeyCloak:

Añadimos el nuevo IDP:

Probar el nuevo IDP:

Ahora debes descargar el ejemplo siguiente:

Asocia los secretos y configuraciones correctamente:

Ejecuta la demo:

Usuarios en Azure B2C:

En esta etapa, deberás abordar tareas críticas de mantenimiento como el purgado y la sincronización de datos (usuarios).

La funcionalidad demostrada en el flujo de ejemplo se centra en procesos básicos de inicio y cierre de sesión. Sin embargo, tienes la posibilidad de expandir esta demostración incluyendo características adicionales, tales como la funcionalidad de cambio de contraseña y actualización de perfil de usuario, entre otras posibles mejoras.

Fin:

Este artículo proporciona una guía paso a paso exhaustiva para configurar una aplicación que implementa un flujo de autenticación con Azure Active Directory B2C, incluye la integración con GitHub y, crucialmente, detalla cómo instalar KeyCloak en un App Service. Aunque la configuración presentada aquí es básica, adecuada para propósitos de demostración, ofrece una base sobre la cual se pueden realizar mejoras significativas. Por ejemplo, se puede optar por implementar una base de datos para la persistencia de usuarios o configurar endpoints adicionales para administración. Una vez superado el desafío principal de poner en marcha KeyCloak en el entorno de un App Service, realizar estas mejoras complementarias se convierte en una tarea relativamente sencilla.