Compartir a través de


Información general sobre la directiva personalizada de Azure AD B2C

Importante

A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para la compra por parte de nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.

Las directivas personalizadas son archivos de configuración que definen el comportamiento del inquilino de Azure Active Directory B2C (Azure AD B2C). Aunque los flujos de usuario están predefinidos en el portal de Azure AD B2C para las tareas de identidad más comunes, un desarrollador de identidades puede editar directivas personalizadas para completar muchas tareas diferentes.

Una directiva personalizada es totalmente configurable y controlada por directivas. Una política personalizada orquesta la confianza entre entidades en protocolos estándar. Por ejemplo, OpenID Connect, OAuth, SAML y algunos no estándar, por ejemplo, intercambios de notificaciones de sistema a sistema basados en API de REST. El marco crea experiencias fáciles de usar con etiqueta blanca.

Una directiva personalizada se representa como uno o varios archivos con formato XML, que se hacen referencia entre sí en una cadena jerárquica. Los elementos XML definen los bloques de creación, la interacción con el usuario y otras partes, y la lógica de negocios.

Paquete de inicio de política personalizada

El paquete de inicio de directivas personalizadas de Azure AD B2C incluye varias directivas precompiladas para empezar a trabajar rápidamente. Cada uno de estos paquetes de inicio contiene el menor número de perfiles técnicos y recorridos de usuario necesarios para lograr los escenarios descritos:

  • LocalAccounts : habilita solo el uso de cuentas locales.
  • SocialAccounts : habilita solo el uso de cuentas sociales (o federadas).
  • SocialAndLocalAccounts : habilita el uso de cuentas locales y sociales. La mayoría de nuestras muestras se refieren a esta política.
  • SocialAndLocalAccountsWithMFA : habilita las opciones de autenticación social, local y multifactor.

En el repositorio de GitHub de ejemplos de Azure AD B2C, encontrará ejemplos de varios escenarios y recorridos de usuario de CIAM personalizados de Azure AD B2C mejorados. Por ejemplo, mejoras en la directiva de cuentas locales, mejoras en la política de cuentas sociales, mejoras en MFA, mejoras en la interfaz de usuario, mejoras genéricas, migración de aplicaciones, migración de usuarios, acceso condicional, prueba web y CI/CD.

Comprensión de los conceptos básicos

Reclamaciones

Una notificación proporciona un almacenamiento temporal de datos durante la ejecución de una directiva de Azure AD B2C. Las notificaciones son más como una variable en un lenguaje de programación. Puede almacenar información sobre el usuario, como el nombre, el apellido o cualquier otra reclamación obtenida del usuario o de otros sistemas (intercambios de reclamaciones). El esquema de notificaciones es el lugar donde se declaran las notificaciones.

Cuando se ejecuta la directiva, Azure AD B2C envía y recibe notificaciones a y desde partes internas y externas y, a continuación, envía un subconjunto de estas notificaciones a la aplicación de usuario de confianza como parte del token. Las notificaciones se utilizan de las siguientes maneras:

  • Una notificación se guarda, lee o actualiza en el objeto de usuario del directorio.
  • Se recibe una notificación de un proveedor de identidades externo.
  • Las reclamaciones se envían o reciben mediante un servicio de API REST personalizado.
  • Los datos se recopilan como reclamaciones del usuario durante los flujos de registro o edición de perfil.

Manipulación de sus reclamaciones

Las transformaciones de notificaciones son funciones predefinidas que se pueden usar para convertir una notificación determinada en otra, evaluar una notificación o establecer un valor de notificación. Por ejemplo, agregar un elemento a una colección de cadenas, cambiar las mayúsculas y minúsculas de una cadena o evaluar una notificación de fecha y hora. Una transformación de notificaciones especifica un método de transformación, que también está predefinido.

Personaliza y localiza tu interfaz de usuario

Para recopilar información de sus usuarios mediante la presentación de una página en su navegador web, utilice el perfil técnico autoafirmado. Puede editar su perfil técnico autoafirmativo para agregar notificaciones y personalizar la entrada del usuario.

Para personalizar la interfaz de usuario para su perfil técnico autoafirmado, especifique una URL en el elemento de definición de contenido con contenido HTML personalizado. En el perfil técnico autoafirmado, apunte a este ID de definición de contenido.

Para personalizar cadenas específicas del idioma, use el elemento de localización . Una definición de contenido puede contener una referencia de localización que especifica una lista de recursos localizados que se van a cargar. Azure AD B2C combina elementos de la interfaz de usuario con el contenido HTML que se carga desde la dirección URL y, a continuación, muestra la página al usuario.

Información general sobre la política de usuario de confianza

Una aplicación de usuario de confianza, que en el protocolo SAML se conoce como proveedor de servicios, llama a la política de usuario de confianza para ejecutar un recorrido de usuario específico. La directiva de usuario de confianza especifica el recorrido del usuario que se va a ejecutar y la lista de notificaciones que incluye el token.

Diagrama que muestra el flujo de ejecución de la política

Todas las aplicaciones de usuario de confianza que usan la misma directiva reciben las mismas notificaciones de token y el usuario pasa por el mismo recorrido del usuario.

Recorridos de los usuarios

Los recorridos del usuario le permiten definir la lógica de negocio con la ruta a través de la cual el usuario sigue para obtener acceso a su aplicación. Se guía al usuario a través del recorrido del usuario para recuperar las notificaciones que se van a presentar a la aplicación. Un recorrido del usuario se crea a partir de una secuencia de pasos de orquestación. Un usuario debe llegar al último paso para adquirir un token.

En las instrucciones siguientes se describe cómo puede agregar pasos de orquestación a la directiva del paquete de inicio de cuentas sociales y locales . Este es un ejemplo de una llamada a la API de REST que se ha agregado.

Recorrido de usuario personalizado

Pasos de orquestación

El paso de orquestación hace referencia a un método que implementa su propósito o funcionalidad previstos. Este método se denomina perfil técnico. Cuando el recorrido del usuario necesita bifurcarse para representar mejor la lógica de negocios, el paso de orquestación hace referencia al subrecorrido. Un subrecorrido contiene su propio conjunto de pasos de orquestación.

Un usuario debe llegar al último paso de orquestación del recorrido del usuario para adquirir un token. Sin embargo, es posible que los usuarios no tengan que recorrer todos los pasos de orquestación. Los pasos de orquestación se pueden ejecutar condicionalmente en función de las condiciones previas definidas en el paso de orquestación.

Una vez completado un paso de orquestación, Azure AD B2C almacena las notificaciones generadas en el contenedor de notificaciones. Las notificaciones de la bolsa de notificaciones se pueden utilizar en cualquier paso de orquestación adicional del recorrido del usuario.

En el diagrama siguiente se muestra cómo los pasos de orquestación del recorrido del usuario pueden acceder al contenedor de notificaciones.

Recorrido del usuario de Azure AD B2C

Perfil técnico

Un perfil técnico proporciona una interfaz para comunicarse con diferentes tipos de partes. Un recorrido del usuario combina la llamada a perfiles técnicos a través de los pasos de orquestación para definir la lógica de negocios.

Todos los tipos de perfiles técnicos comparten el mismo concepto. Envíe notificaciones de entrada, ejecute la transformación de notificaciones y se comunique con la parte configurada. Una vez completado el proceso, el perfil técnico devuelve las notificaciones de salida al contenedor de notificaciones. Para obtener más información, consulte Descripción general de los perfiles técnicos.

Perfil técnico de validación

Cuando un usuario interactúa con la interfaz de usuario, es posible que desee validar los datos que se recopilan. Para interactuar con el usuario, se debe utilizar un perfil técnico autoafirmado .

Para validar la entrada del usuario, se llama a un perfil técnico de validación desde el perfil técnico autoafirmado. Un perfil técnico de validación es un método para llamar a cualquier perfil técnico no interactivo. En este caso, el perfil técnico puede devolver notificaciones de salida o un mensaje de error. El mensaje de error se muestra al usuario en la pantalla, lo que permite al usuario volver a intentarlo.

En el siguiente diagrama se muestra cómo Azure AD B2C usa un perfil técnico de validación para validar las credenciales de usuario.

Diagrama de perfil técnico de validación

Modelo de herencia

Cada paquete de inicio incluye los siguientes archivos:

  • Archivo Base que contiene la mayoría de las definiciones. Para ayudar con la solución de problemas y el mantenimiento a largo plazo de las directivas, intente minimizar el número de cambios que realice en este archivo.
  • Archivo de localización que contiene las cadenas de localización. Este archivo de política se deriva del archivo base. Utilice este archivo para acomodar diferentes idiomas para satisfacer las necesidades de sus clientes.
  • Un archivo de extensiones que contiene los cambios de configuración únicos para el inquilino. Este archivo de política se deriva del archivo de localización. Utilice este archivo para agregar nuevas funciones o invalidar las existentes. Por ejemplo, utilice este archivo para federarse con nuevos proveedores de identidad.
  • Un archivo de usuario de confianza (RP) que es el único archivo centrado en la tarea que invoca directamente la aplicación de usuario de confianza, como las aplicaciones web, móviles o de escritorio. Cada tarea única, como el registro, el inicio de sesión o la edición de perfil, requiere su propio archivo de directiva de usuario de confianza. Este archivo de política se deriva del archivo de extensiones.

El modelo de herencia es el siguiente:

  • La política secundaria en cualquier nivel puede heredar de la política principal y ampliarla mediante la adición de nuevos elementos.
  • Para escenarios más complejos, puede agregar más niveles de herencia (hasta 10 en total).
  • Puede agregar más directivas de usuario de confianza. Por ejemplo, eliminar mi cuenta, cambiar un número de teléfono, la política de usuario de confianza de SAML y mucho más.

En el diagrama siguiente se muestra la relación entre los archivos de directiva y las aplicaciones de usuario de confianza.

Diagrama que muestra el modelo de herencia de directivas del marco de confianza

Guía y procedimientos recomendados

procedimientos recomendados

Dentro de una directiva personalizada de Azure AD B2C, puede integrar su propia lógica de negocios para crear las experiencias de usuario que necesita y ampliar la funcionalidad del servicio. Tenemos un conjunto de mejores prácticas y recomendaciones para comenzar.

  • Cree la lógica en la directiva de extensión o en la directiva de usuario de confianza. Puede agregar nuevos elementos, lo que invalida la política base haciendo referencia al mismo identificador. Este enfoque le permite escalar horizontalmente el proyecto y, al mismo tiempo, facilitar la actualización de la directiva base más adelante si Microsoft publica nuevos paquetes de inicio.
  • Dentro de la política básica, recomendamos encarecidamente evitar realizar cambios. Cuando sea necesario, haga comentarios donde se realicen los cambios.
  • Cuando reemplace un elemento, como los metadatos del perfil técnico, evite copiar todo el perfil técnico de la política base. En su lugar, copie solo la sección requerida del elemento. Consulte Deshabilitar la verificación de correo electrónico para obtener un ejemplo de cómo realizar el cambio.
  • Para reducir la duplicación de perfiles técnicos, donde se comparte la funcionalidad principal, utilice la inclusión de perfiles técnicos.
  • Evite escribir en el directorio de Microsoft Entra durante el inicio de sesión, lo que puede provocar problemas de limitación.
  • Si la política tiene dependencias externas, como las API de REST, asegúrese de que tengan una alta disponibilidad.
  • Para una mejor experiencia de usuario, asegúrese de que sus plantillas HTML personalizadas se implementen globalmente mediante la entrega de contenido en línea. Azure Content Delivery Network (CDN) permite reducir los tiempos de carga, ahorrar ancho de banda y mejorar la velocidad de respuesta.
  • Si desea realizar un cambio en el recorrido del usuario, copie todo el recorrido del usuario de la política base a la política de extensión. Proporcione un ID de recorrido de usuario único para el recorrido del usuario que ha copiado. A continuación, en la directiva de usuario de confianza, cambie el elemento de recorrido del usuario predeterminado para que apunte al nuevo recorrido del usuario.

Solución de problemas

Al desarrollar con directivas de Azure AD B2C, es posible que se encuentre con errores o excepciones al ejecutar el recorrido del usuario. Se puede investigar mediante Application Insights.

Integración continua

Mediante el uso de una canalización de integración y entrega continuas (CI/CD) que configure en Azure Pipelines, puede incluir las directivas personalizadas de Azure AD B2C en la automatización de la entrega de software y el control de código. A medida que implemente en diferentes entornos de Azure AD B2C, por ejemplo, desarrollo, pruebas y producción, se recomienda quitar los procesos manuales y realizar pruebas automatizadas mediante Azure Pipelines.

Preparación del entorno

Introducción a la directiva personalizada de Azure AD B2C:

  1. Creación de un inquilino de Azure AD B2C
  2. Registre una aplicación web mediante Azure Portal para que pueda probar la directiva.
  3. Agregue las claves de política necesarias y registre las aplicaciones de Identity Experience Framework.
  4. Obtenga el paquete de inicio de directivas de Azure AD B2C y cárguelo en el inquilino.
  5. Después de cargar el paquete de inicio, pruebe su política de registro o inicio de sesión.
  6. Se recomienda descargar e instalar Visual Studio Code (VS Code). Visual Studio Code es un editor de código fuente ligero pero eficaz, que se ejecuta en el escritorio y está disponible para Windows, macOS y Linux. Con VS Code, puede navegar y editar rápidamente los archivos XML de directivas personalizadas de Azure AD B2C mediante la instalación de la extensión de Azure AD B2C para VS Code

Después de configurar y probar la directiva de Azure AD B2C, puede empezar a personalizarla. Siga los siguientes artículos para aprender a: