Partilhar via


Definir um perfil técnico SSPR do Microsoft Entra ID em uma política personalizada do Azure AD B2C

Nota

No Azure Ative Directory B2C, as políticas personalizadas são projetadas principalmente para lidar com cenários complexos. Para a maioria dos cenários, recomendamos que você use fluxos de usuário internos. Se você não tiver feito isso, saiba mais sobre o pacote inicial de políticas personalizadas em Introdução às políticas personalizadas no Ative Directory B2C.

O Azure Ative Directory B2C (Azure AD B2C) fornece suporte para verificar um endereço de email para redefinição de senha de autoatendimento (SSPR). Use o perfil técnico SSPR do Microsoft Entra ID para gerar e enviar um código para um endereço de email e, em seguida, verifique o código. O perfil técnico do Microsoft Entra ID SSPR também pode retornar uma mensagem de erro. O perfil técnico de validação valida os dados fornecidos pelo usuário antes que a jornada do usuário continue. Com o perfil técnico de validação, uma mensagem de erro é exibida em uma página autodeclarada.

Este perfil técnico:

  • Não fornece uma interface para interagir com o usuário. Em vez disso, a interface do usuário é chamada a partir de um perfil técnico autodeclarado ou um controle de exibição como um perfil técnico de validação.
  • Usa o serviço Microsoft Entra SSPR para gerar e enviar um código para um endereço de email e, em seguida, verifica o código.
  • Valida um endereço de e-mail através de um código de verificação.

Protocolo

O atributo Name do elemento Protocol precisa ser definido como Proprietary. O atributo handler deve conter o nome totalmente qualificado do assembly do manipulador de protocolo usado pelo Azure AD B2C:

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

O exemplo a seguir mostra um perfil técnico do Microsoft Entra ID SSPR:

<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 e-mail

A primeira modalidade deste perfil técnico é gerar um código e enviá-lo. As seguintes opções podem ser configuradas para este modo.

Declarações de entrada

O elemento InputClaims contém uma lista de declarações a serem enviadas ao Microsoft Entra SSPR. Você também pode mapear o nome da sua reivindicação para o nome definido no perfil técnico SSPR.

ClaimReferenceId Obrigatório Description
endereço de e-mail Sim O identificador do usuário que possui o endereço de e-mail. A PartnerClaimType propriedade da declaração de entrada deve ser definida como emailAddress.

O elemento InputClaimsTransformations pode conter uma coleção de elementos InputClaimsTransformation que são usados para modificar as declarações de entrada ou gerar novas antes de enviar para o serviço Microsoft Entra SSPR.

Declarações de saída

O provedor de protocolo Microsoft Entra SSPR não retorna nenhum OutputClaims, portanto, não há necessidade de especificar declarações de saída. No entanto, você pode incluir declarações que não são retornadas pelo provedor de protocolo Microsoft Entra SSPR, desde que você defina o DefaultValue atributo.

O elemento OutputClaimsTransformations pode conter uma coleção de elementos OutputClaimsTransformation que são usados para modificar as declarações de saída ou gerar novas.

Metadados

Atributo Obrigatório Description
Operação Sim Deve ser SendCode.

Elementos da IU

Os metadados a seguir podem ser usados para configurar as mensagens de erro exibidas após o envio de falha de SMS. Os metadados devem ser configurados no perfil técnico autodeclarado . As mensagens de erro podem ser localizadas.

Atributo Obrigatório Description
UserMessageIfInternalError Não Mensagem de erro do usuário se o servidor encontrou um erro interno.
UserMessageIfThrottled Não Mensagem de erro do usuário se uma solicitação tiver sido limitada.

Exemplo: enviar um e-mail

O exemplo a seguir mostra um perfil técnico SSPR do Microsoft Entra ID que é usado para enviar um código por email.

<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

O segundo modo deste perfil técnico é verificar um código. As seguintes opções podem ser configuradas para este modo.

Declarações de entrada

O elemento InputClaims contém uma lista de declarações a serem enviadas ao Microsoft Entra SSPR. Você também pode mapear o nome da sua reivindicação para o nome definido no perfil técnico SSPR.

ClaimReferenceId Obrigatório Description
endereço de e-mail Sim O mesmo endereço de e-mail usado anteriormente para enviar um código. Ele também é usado para localizar uma sessão de verificação de e-mail. A PartnerClaimType propriedade da declaração de entrada deve ser definida como emailAddress.
Código de verificação Sim O código de verificação fornecido pelo usuário a ser verificado. A PartnerClaimType propriedade da declaração de entrada deve ser definida como verificationCode.

O elemento InputClaimsTransformations pode conter uma coleção de elementos InputClaimsTransformation que são usados para modificar as declarações de entrada ou gerar novas antes de chamar o serviço Microsoft Entra SSPR.

Declarações de saída

O provedor de protocolo Microsoft Entra SSPR não retorna nenhum OutputClaims, portanto, não há necessidade de especificar declarações de saída. No entanto, você pode incluir declarações que não são retornadas pelo provedor de protocolo Microsoft Entra SSPR, desde que você defina o DefaultValue atributo.

O elemento OutputClaimsTransformations pode conter uma coleção de elementos OutputClaimsTransformation que são usados para modificar as declarações de saída ou gerar novas.

Metadados

Atributo Obrigatório Description
Operação Sim Deve ser VerifyCode

Elementos da IU

Os metadados a seguir podem ser usados para configurar as mensagens de erro exibidas após falha na verificação de código. Os metadados devem ser configurados no perfil técnico autodeclarado . As mensagens de erro podem ser localizadas.

Atributo Obrigatório Description
UserMessageIfChallengeExpired A mensagem a ser exibida ao usuário se a sessão de verificação de código tiver expirado. Ou o código expirou ou o código nunca foi gerado para um determinado identificador.
UserMessageIfInternalError Mensagem de erro do usuário se o servidor encontrou um erro interno.
UserMessageIfThrottled Mensagem de erro do usuário se uma solicitação tiver sido limitada.
UserMessageIfVerificationFailedNoRetry A mensagem a ser exibida ao usuário se ele tiver fornecido um código inválido e o usuário não tiver permissão para fornecer o código correto.
UserMessageIfVerificationFailedRetryAllowed A mensagem a ser exibida ao usuário se ele tiver fornecido um código inválido e o usuário tiver permissão para fornecer o código correto.

Exemplo: verificar um código

O exemplo a seguir mostra um perfil técnico SSPR do Microsoft Entra ID usado para verificar o 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>