Compartir a través de


Definición de un perfil técnico de SSPR de Id. de Microsoft Entra en una directiva personalizada de Azure AD B2C

Nota:

En Azure Active Directory B2C, las directivas personalizadas se han diseñado principalmente para abordar escenarios complejos. Para la mayoría de los escenarios, se recomienda usar flujos de usuario integrados. Si no lo ha hecho, obtenga información sobre el paquete de inicio de directivas personalizadas en Introducción a las directivas personalizadas en Active Directory 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.

Azure Active Directory B2C (Azure AD B2C) proporciona compatibilidad para comprobar una dirección de correo electrónico para el autoservicio de restablecimiento de contraseña (SSPR). Use el perfil técnico SSPR de Id. de Entra de Microsoft para generar y enviar un código a una dirección de correo electrónico y, a continuación, comprobar el código. El perfil técnico de SSPR de Id. de Microsoft Entra también puede devolver un mensaje de error. El perfil técnico de validación valida los datos proporcionados por el usuario antes de que continúe el recorrido del usuario. Con el perfil técnico de validación, se muestra un mensaje de error en una página autoafirmada.

Este perfil técnico:

  • No proporciona una interfaz para interactuar con el usuario. En su lugar, se llama a la interfaz de usuario desde un perfil técnico autoafirmado o un control de visualización como perfil técnico de validación.
  • Usa el servicio SSPR de Microsoft Entra para generar y enviar un código a una dirección de correo electrónico y, a continuación, comprueba el código.
  • Valida una dirección de correo electrónico a través de un código de verificación.

Protocolo

El atributo Name del elemento Protocol tiene que establecerse en Proprietary. El atributo handler debe contener el nombre completo del ensamblado del controlador de protocolo que usa Azure AD B2C:

Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

En el ejemplo siguiente se muestra un perfil técnico de SSPR de Id. de Microsoft Entra:

<TechnicalProfile Id="AadSspr-SendCode">
  <DisplayName>Send Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

Enviar correo electrónico

El primer modo de este perfil técnico es generar un código y enviarlo. Pueden configurarse las opciones siguientes para este modo.

Notificaciones de entrada

El elemento InputClaims contiene una lista de notificaciones que se van a enviar a Microsoft Entra SSPR. También puede asignar el nombre de la notificación al nombre definido en el perfil técnico de SSPR.

ClaimReferenceId Obligatorio Descripción
dirección de correo electrónico Identificador del usuario que posee la dirección de correo electrónico. La PartnerClaimType propiedad de la notificación de entrada debe establecerse emailAddressen .

El elemento InputClaimsTransformations puede contener una colección de elementos InputClaimsTransformation que se usan para modificar las notificaciones de entrada o generar nuevas antes de enviarlos al servicio SSPR de Microsoft Entra.

Notificaciones de salida

El proveedor del protocolo SSPR de Microsoft Entra no devuelve ninguna clase OutputClaims, por lo que no es necesario especificar notificaciones de salida. Sin embargo, puede incluir notificaciones que no devuelve el proveedor del protocolo SSPR de Microsoft Entra siempre que establezca el DefaultValue atributo .

El elemento OutputClaimsTransformations puede contener una colección de elementos OutputClaimsTransformation que se usan para modificar las notificaciones de salida o para generar nuevas.

Metadatos

Atributo Obligatorio Descripción
Operación Debe ser SendCode.

Elementos de la UI

Los metadatos siguientes se pueden usar para configurar los mensajes de error que se muestran al enviar un error de SMS. Los metadatos deben configurarse en el perfil técnico autoafirmado . Los mensajes de error se pueden localizar.

Atributo Obligatorio Descripción
UserMessageIfInternalError No Mensaje de error de usuario si el servidor ha encontrado un error interno.
UserMessageIfThrottled No Mensaje de error de usuario si se ha limitado una solicitud.

Ejemplo: enviar un correo electrónico

En el ejemplo siguiente se muestra un perfil técnico de SSPR de id. de Microsoft Entra que se usa para enviar un código por correo electrónico.

<TechnicalProfile Id="AadSspr-SendCode">
  <DisplayName>Send Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">SendCode</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
  </InputClaims>
</TechnicalProfile>

Verificar código

El segundo modo de este perfil técnico es comprobar un código. Pueden configurarse las opciones siguientes para este modo.

Notificaciones de entrada

El elemento InputClaims contiene una lista de notificaciones que se van a enviar a Microsoft Entra SSPR. También puede asignar el nombre de la notificación al nombre definido en el perfil técnico de SSPR.

ClaimReferenceId Obligatorio Descripción
dirección de correo electrónico La misma dirección de correo electrónico que se usó anteriormente para enviar un código. También se usa para buscar una sesión de comprobación de correo electrónico. La PartnerClaimType propiedad de la notificación de entrada debe establecerse emailAddressen .
verificaciónCódigo Código de verificación proporcionado por el usuario que se va a comprobar. La PartnerClaimType propiedad de la notificación de entrada debe establecerse verificationCodeen .

El elemento InputClaimsTransformations puede contener una colección de elementos InputClaimsTransformation que se usan para modificar las notificaciones de entrada o generar otras nuevas antes de llamar al servicio SSPR de Microsoft Entra.

Notificaciones de salida

El proveedor del protocolo SSPR de Microsoft Entra no devuelve ninguna clase OutputClaims, por lo que no es necesario especificar notificaciones de salida. Sin embargo, puede incluir notificaciones que no devuelve el proveedor del protocolo SSPR de Microsoft Entra siempre que establezca el DefaultValue atributo .

El elemento OutputClaimsTransformations puede contener una colección de elementos OutputClaimsTransformation que se usan para modificar las notificaciones de salida o para generar nuevas.

Metadatos

Atributo Obligatorio Descripción
Operación Debe ser VerifyCode

Elementos de la UI

Los metadatos siguientes se pueden usar para configurar los mensajes de error que se muestran tras un error de comprobación de código. Los metadatos deben configurarse en el perfil técnico autoafirmado . Los mensajes de error se pueden localizar.

Atributo Obligatorio Descripción
UserMessageIfChallengeExpired Mensaje que se mostrará al usuario si la sesión de comprobación de código ha expirado. El código ha expirado o el código nunca se ha generado para un identificador determinado.
UserMessageIfInternalError Mensaje de error de usuario si el servidor ha encontrado un error interno.
UserMessageIfThrottled Mensaje de error de usuario si se ha limitado una solicitud.
UserMessageIfVerificationFailedNoRetry Mensaje que se muestra al usuario si ha proporcionado un código no válido y el usuario no puede proporcionar el código correcto.
UserMessageIfVerificationFailedRetryAllowed Mensaje que se muestra al usuario si ha proporcionado un código no válido y el usuario puede proporcionar el código correcto.

Ejemplo: comprobación de un código

En el ejemplo siguiente se muestra un perfil técnico de SSPR de id. de Microsoft Entra que se usa para comprobar el código.

<TechnicalProfile Id="AadSspr-VerifyCode">
  <DisplayName>Verify Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyCode</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="verificationCode" PartnerClaimType="verificationCode" />
    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
  </InputClaims>
</TechnicalProfile>