Definir um perfil técnico de fator de telefone em uma política personalizada do Azure Active Directory 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 Active Directory B2C (AAD B2C) fornece suporte para registro e verificação de números de telefone. Este perfil técnico:

  • Fornece uma interface do usuário para interagir com o usuário e verificar ou registrar um número de telefone.
  • Dá suporte a chamadas telefônicas e mensagens de texto para validar o número de telefone.
  • Dá suporte a vários números de telefone. O usuário pode selecionar um dos números de telefone para verificar.
  • Retorna uma declaração que indica se o usuário forneceu um novo número de telefone. É possível usar essa declaração para decidir se o número de telefone deve ser persistente para o perfil de usuário do AAD B2C.
  • Usa uma definição de conteúdo para controlar a aparência.

Protocolo

O atributo Name do elemento Protocol precisa ser definido como Proprietary. O atributo manipulador deve conter o nome totalmente qualificado do assembly do manipulador de protocolo usado pelo AAD B2C para o fator de telefone: Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

O exemplo a seguir mostra um perfil técnico de fator de telefone para registro e validação:

<TechnicalProfile Id="PhoneFactor-InputOrVerify">
  <DisplayName>PhoneFactor</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</TechnicalProfile>

Transformações de declarações de entrada

O elemento InputClaimsTransformations pode conter uma coleção de transformações de declarações de entrada usadas para modificar as declarações de entrada ou gerar novas. A transformação de declarações de entrada a seguir gera uma declaração UserId que é usada posteriormente na coleção de declarações de entrada.

<InputClaimsTransformations>
  <InputClaimsTransformation ReferenceId="CreateUserIdForMFA" />
</InputClaimsTransformations>

Declarações de entrada

O elemento InputClaims deve conter as declarações a seguir. Também é possível mapear o nome da declaração para o nome definido no perfil técnico do fator de telefone.

Tipo de dados Obrigatória Descrição
string Sim Um identificador exclusivo do usuário. O nome da declaração ou PartnerClaimType deve ser definido como UserId. Essa declaração não deve conter informações de identificação pessoal.
string Sim Lista de tipos de declaração. Cada declaração contém um número de telefone. Se nenhuma das declarações de entrada contiver um número de telefone, o usuário será solicitado a registrar e verificar um novo número de telefone. O número de telefone validado é retornado como uma declaração de saída. Se uma das declarações de entrada contiver um número de telefone, o usuário será solicitado a verificá-lo. Se várias declarações de entrada contiverem um número de telefone, o usuário será solicitado a escolher e verificar um dos números de telefone.

O exemplo a seguir demonstra como usar vários números de telefone. Para saber mais, veja a política de amostra.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="userIdForMFA" PartnerClaimType="UserId" />
  <InputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
  <InputClaim ClaimTypeReferenceId="secondaryStrongAuthenticationPhoneNumber" />
</InputClaims>

Declarações de saída

O elemento OutputClaims contém uma lista de declarações retornadas pelo perfil técnico do fator de telefone.

Tipo de dados Obrigatória Descrição
booleano Sim Indica se o novo número de telefone foi inserido pelo usuário. O nome da declaração ou PartnerClaimType deve ser definido como newPhoneNumberEntered
string Sim O número de telefone verificado. O nome da declaração ou PartnerClaimType deve ser definido como Verified.OfficePhone.

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.

Chaves criptográficas

O elemento CryptographicKeys não será usado.

Metadados

Atributo Obrigatório Descrição
ContentDefinitionReferenceId Sim O identificador da definição de conteúdo associada com este perfil técnico.
ManualPhoneNumberEntryAllowed Não Especifique se um usuário tem ou não permissão para inserir manualmente um número de telefone. Valores possíveis: true ou false (padrão).
setting.authenticationMode Não O método para validar o número de telefone. Valores possíveis: sms, phone ou mixed (padrão).
setting.autodial Não Especifique se o perfil técnico deve discar automaticamente ou enviar automaticamente um SMS. Valores possíveis: true ou false (padrão). A discagem automática exige que os metadados setting.authenticationMode sejam definidos como sms ou phone. A coleção de declarações de entrada deve ter um único número de telefone.
setting.autosubmit No Especifica se o perfil técnico deve enviar automaticamente o formulário de entrada de senha única. Os valores possíveis são true (padrão) ou false. Quando o envio automático é desativado, o usuário precisa selecionar um botão para avançar o percurso.
setting.enableCaptchaChallenge Não Especifica se o código de desafio CAPTCHA deve ser exibido em um fluxo MFA. Valores possíveis: true ou false (padrão). Para que essa configuração funcione, o controle de exibição CAPTCHA deve ser referenciado nas declarações de exibição do perfil técnico do fator telefone. O recurso CAPTCHA está em visualização pública.

Elementos da interface do usuário

Os elementos da interface do usuário da página autenticação com fator de telefone podem ser localizados.

Próximas etapas