Extensión de flujos de autenticación con su propia lógica de negocios
Se aplica a: inquilinos de personal inquilinos externos (más información)
Los flujos de usuario de Id. externa de Microsoft Entra están diseñados para ofrecer flexibilidad. Dentro de un flujo de usuario de registro e inicio de sesión, hay eventos de autenticación integrados. También puede agregar extensiones de autenticación personalizadas en puntos específicos dentro del flujo de autenticación. Una extensión de autenticación personalizada es básicamente un cliente de escucha de eventos que, cuando se activa, realiza una llamada HTTP a un punto de conexión de la API de REST donde se define una acción de flujo de trabajo. Por ejemplo, podría agregar un flujo de trabajo de colección de atributos para validar los atributos que escribe un usuario durante el registro, o podría usar un proveedor de notificaciones personalizado para agregar datos de usuario externos al token antes de que se emita el token.
Hay dos componentes que debe configurar: una extensión de autenticación personalizada y una API de REST. La extensión de autenticación personalizada especifica el punto de conexión de la API de REST, cuando se debe llamar a la API de REST y las credenciales para llamar a la API de REST. Puede crear extensiones de autenticación personalizadas en los siguientes puntos del flujo de autenticación:
- Durante el registro, antes o después de la colección de atributos:
- El evento OnAttributeCollectionStart se produce al principio del paso de colección de atributos, antes de que se represente la página de colección de atributos.
- El evento OnAttributeCollectionSubmit se produce después de que el usuario escriba y envíe atributos.
- Tras la emisión de tokens mediante el evento OnTokenIssuanceStart, que se desencadena justo antes de que se emita un token a la aplicación.
Si tiene una extensión de autenticación personalizada configurada en uno de estos puntos, Microsoft Entra ID realiza una llamada a la API de REST que defina. La solicitud a la API de REST contiene información sobre el evento, el perfil de usuario, los datos de solicitud de autenticación y otra información de contexto. A su vez, la API de REST realiza las acciones del flujo de trabajo.
Este artículo proporciona una visión general de las extensiones de autenticación personalizadas en Id. externa de Microsoft Entra.
Eventos de inicio y envío de colecciones de atributos
Puede usar extensiones de autenticación personalizadas para agregar flujos de trabajo a la colección de atributos en los flujos de usuario de registro de autoservicio. Por ejemplo, puede rellenar previamente campos de atributo con valores personalizados, validar las entradas de un usuario, y modificar atributos y mostrar errores. Se habilitan dos eventos:
OnAttributeCollectionStart: el evento OnAttributeCollectionStart se produce al principio del proceso de colección de atributos antes de que se represente la página de colección de atributos. Este evento se puede usar para escenarios como impedir que el usuario se registre en función de su dominio o agregar atributos que se van a recopilar. Los escenarios siguientes son configurables para el evento OnAttributeCollectionStart:
- continueWithDefaultBehavior: representa la página de colección de atributos como de costumbre.
- setPreFillValues: rellena previamente atributos en el formulario de registro.
- showBlockPage: muestra un mensaje de error e impide que el usuario se registre.
OnAttributeCollectionSubmit: el evento OnAttributeCollectionSubmit se produce después de que el usuario escriba y envíe atributos. Este evento se puede usar para escenarios como validar o modificar la información proporcionada por el usuario. Por ejemplo, puede validar un código de invitación o un número de asociado, modificar un formato de dirección o devolver un error.
- continueWithDefaultBehavior: continúa con el flujo de registro.
- modifyAttributeValues: sobrescribe los valores que el usuario envió en el formulario de registro.
- showValidationError: devuelve un error basado en los valores enviados.
- showBlockPage: muestra un mensaje de error e impide que el usuario se registre.
Para configurar los eventos de inicio y envío de colección de atributos, cree una API de REST de extensión de autenticación personalizada. Cuando se activa un evento, Microsoft Entra ID envía una solicitud HTTP al punto de conexión de la API de REST. La API de REST puede ser una función de Azure, una aplicación lógica de Azure u otro punto de conexión de API disponible públicamente. El punto de conexión de la API de REST es responsable de definir las acciones de flujo de trabajo que se deben realizar.
Para obtener más información, consulte Agregar extensiones personalizadas de colección de atributos al flujo de usuario.
Evento de inicio de emisión de tokens
El evento de inicio de emisión de tokens se desencadena una vez que un usuario completa todos sus desafíos de autenticación y se va a emitir un token de seguridad.
Cuando los usuarios se autentican en la aplicación con Microsoft Entra ID, se devuelve un token de seguridad a la aplicación. El token de seguridad contiene notificaciones que son información sobre el usuario, como el nombre, el identificador único o los roles de aplicación. Además del conjunto predeterminado de notificaciones que contiene el token de seguridad, puede definir sus propias notificaciones personalizadas desde sistemas externos mediante una API de REST que desarrolle.
En algunos casos, los datos clave se pueden almacenar en sistemas externos a Microsoft Entra, como un correo electrónico secundario, un nivel de facturación o información confidencial. No siempre es factible que la información del sistema externo se almacene en el directorio de Microsoft Entra. En estos escenarios, puede usar una extensión de autenticación personalizada y un proveedor de notificaciones personalizado para agregar estos datos externos a los tokens devueltos a la aplicación.
Una extensión de evento de emisión de tokens implica los siguientes componentes:
Proveedor de notificaciones personalizado. Un proveedor de notificaciones personalizado es un tipo de extensión de autenticación personalizada que captura datos de sistemas externos. El proveedor de notificaciones personalizado especifica los atributos que se van a agregar al token de seguridad que se devuelve a la aplicación. Varios proveedores de notificaciones pueden compartir la misma extensión personalizada, por lo que se puede agregar un conjunto diferente de atributos al token de seguridad para cada aplicación.
Punto de conexión de la API de REST. Cuando se activa un evento, Microsoft Entra ID envía una solicitud HTTP al punto de conexión de la API de REST. La API de REST puede ser una función de Azure, una aplicación lógica de Azure o algún otro punto de conexión de API disponible públicamente. El punto de conexión de la API de REST interactúa con varios almacenes de datos, incluidas las bases de datos de bajada, las API existentes, los protocolos ligeros de acceso a directorios (LDAP) u otros almacenes que contienen los atributos que desea agregar a la configuración del token.
La API de REST devuelve una respuesta HTTP o una acción a Microsoft Entra ID que contiene los atributos. Estos atributos no se agregan automáticamente a un token. En su lugar, la directiva de asignación de notificaciones de una aplicación debe configurarse para que cualquier atributo se incluya en el token.
Para obtener detalles, consulte:
- Acerca de las extensiones de autenticación personalizadas.
- Configuración de un evento de emisión de tokens del proveedor de notificaciones personalizado mediante un proveedor de notificaciones personalizado.
Consulte también
- Para más información sobre cómo funcionan las extensiones personalizadas, consulte Extensiones de autenticación personalizadas.
- Creación de una API de REST con un evento de inicio de emisión de tokens.
- Configuración de un proveedor de notificaciones personalizado para un evento de emisión de tokens.
- Configure extensiones de autenticación personalizadas para eventos de inicio y envío de colección de atributos con una aplicación de OpenID Connect de ejemplo.
- Consulte el Centro para desarrolladores de Id. externa de Microsoft Entra para obtener el contenido y los recursos para desarrolladores más recientes.