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

Observação

No Azure Active Directory B2C, as políticas personalizadas são projetadas principalmente para tratar de cenários complexos. Para a maioria dos cenários, recomendamos que você use fluxos de usuários predefinidos. Se você ainda não fez isso, saiba mais sobre o pacote de início de política personalizado em Introdução às políticas personalizadas no Active Directory B2C.

O Azure AD B2C (Azure Active Directory B2C) fornece suporte para verificar um endereço de email quanto à SSPR (redefinição de senha self-service). Use o perfil técnico do Azure AD SSPR para gerar e enviar um código para um endereço de email e, em seguida, verificar esse código. O perfil técnico do Azure AD SSPR também pode retornar uma mensagem de erro. O perfil técnico de validação valida os dados fornecido pelo usuário para que o percurso 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 por um perfil técnico autodeclarado ou um controle de exibição como um perfil técnico de validação.
  • Usa o serviço Azure AD SSPR para gerar e enviar um código para um endereço de email e, em seguida, verifica esse código.
  • Valida um endereço de email por meio de um código de verificação.

Observação

Esse recurso está em uma versão prévia.

Protocolo

O atributo Name do elemento Protocol precisa ser definido como . 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 Azure AD 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 email

O primeiro modo deste perfil técnico é a geração e o envio de um código. As seguintes opções podem ser configuradas para esse modo.

Declarações de entrada

O elemento InputClaims contém uma lista de declarações a serem enviadas ao Azure AD SSPR. Também é possível mapear o nome da declaração para o nome definido no perfil técnico do SSPR.

ClaimReferenceId Obrigatório Descrição
emailAddress Sim O identificador do usuário proprietário do endereço de email. A propriedade PartnerClaimType da declaração de entrada deve ser definida como emailAddress.

O elemento InputClaimsTransformations pode conter uma coleção de elementos InputClaimsTransformation usados para modificar as declarações de entrada ou gerar novas antes do envio ao serviço Azure AD SSPR.

Declarações de saída

O provedor do protocolo do Azure AD SSPR não retorna nenhuma OutputClaims, portanto, não é necessário especificar declarações de saída. No entanto, você pode incluir declarações que não são retornadas pelo provedor de protocolo do Azure AD SSPR, desde que você defina o atributo DefaultValue.

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

Metadados

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

Elementos da interface do usuário

Os metadados a seguir podem ser usados para configurar as mensagens de erro exibidas após a falha do envio do SMS. Os metadados devem ser configurados no perfil técnico autodeclarado. A mensagem de erro pode ser localizada.

Atributo Obrigatório Descrição
UserMessageIfInternalError Não Mensagem de erro do usuário se o servidor encontrar um erro interno.
UserMessageIfThrottled Não Mensagem de erro do usuário se uma solicitação for limitada.

Exemplo: enviar um email

O exemplo a seguir mostra um perfil técnico do Azure AD SSPR que é usado para enviar um código via 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 o código

O segundo modo desse perfil técnico é a verificação de um código. As seguintes opções podem ser configuradas para ele.

Declarações de entrada

O elemento InputClaims contém uma lista de declarações a serem enviadas ao Azure AD SSPR. Também é possível mapear o nome da declaração para o nome definido no perfil técnico do SSPR.

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

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

Declarações de saída

O provedor do protocolo do Azure AD SSPR não retorna nenhuma OutputClaims, portanto, não é necessário especificar declarações de saída. No entanto, você pode incluir declarações que não são retornadas pelo provedor de protocolo do Azure AD SSPR, desde que você defina o atributo DefaultValue.

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

Metadados

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

Elementos da interface do usuário

Os metadados a seguir podem ser usados para configurar as mensagens de erro exibidas após a falha da verificação do código. Os metadados devem ser configurados no perfil técnico autodeclarado. A mensagem de erro pode ser localizada.

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

Exemplo: verificar um código

O exemplo a seguir mostra um perfil técnico do Azure AD SSPR usado para a verificação do 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>