Definir as transformações de declarações de número de telefone no Azure AD B2C
Este artigo fornece referência e exemplos para usar as transformações de declarações de número de telefone na política personalizada do Azure AD B2C (Azure Active Directory B2C). Para obter mais informações sobre as transformações de declarações em geral, confira ClaimsTransformations.
Observação
Esse recurso está em uma versão prévia.
ConvertPhoneNumberClaimToString
Converte um tipo de dados phoneNumber
em um tipo de dados string
. Confira a Demonstração ao vivo desta transformação de declarações.
Elemento | TransformationClaimType | Tipo de Dados | Observações |
---|---|---|---|
InputClaim | phoneNumber | phoneNumber | A declaração para converter em uma cadeia de caracteres. |
OutputClaim | phoneNumberString | string | A declaração que é produzida após a invocação dessa transformação de declarações. |
Exemplo de ConvertPhoneNumberClaimToString
Neste exemplo, a declaração cellPhoneNumber com um tipo de valor phoneNumber
é convertida em uma declaração cellPhone com um tipo de valor string
.
<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
</OutputClaims>
</ClaimsTransformation>
- Declarações de entrada:
- phoneNumber: +11234567890 (phoneNumber)
- Declarações de saída:
- phoneNumberString: +11234567890 (string)
ConvertStringToPhoneNumberClaim
Valida o formato de um número de telefone. Se válido, altere-o para um formato padrão usado por Azure AD B2C. Se o número de telefone fornecido não estiver em um formato válido, uma mensagem de erro será retornada. Confira a Demonstração ao vivo desta transformação de declarações.
Elemento | TransformationClaimType | Tipo de Dados | Observações |
---|---|---|---|
InputClaim | phoneNumberString | string | A declaração de cadeia de caracteres para o número de telefone. O número de telefone deve estar em formato internacional e ser iniciado com um "+" e o código de país/região. Se a declaração de entrada country for fornecida, o número de telefone estará no formato local (sem o código de país/região). |
InputClaim | country | string | [Opcional] A declaração de cadeia de caracteres para o código de país/região do número de telefone no formato ISO3166 (o código de país/região ISO-3166 de duas letras). |
OutputClaim | outputClaim | phoneNumber | O resultado dessa transformação de declarações. |
A transformação de declarações ConvertStringToPhoneNumberClaim é sempre executada a partir um perfil técnico de validação que é chamado por um perfil técnico autodeclarado ou um controle de exibições. Os metadados do perfil técnico autodeclarado UserMessageIfClaimsTransformationInvalidPhoneNumber controlam a mensagem de erro que é apresentada ao usuário.
Exemplo de ConvertStringToPhoneNumberClaim
O exemplo a seguir verifica se a declaração phoneString é, de fato, um número de telefone válido e, em seguida, retorna o número de telefone no formato padrão do Azure AD B2C. Caso contrário, uma mensagem de erro será gerada.
<ClaimsTransformation Id="ConvertStringToPhoneNumber" TransformationMethod="ConvertStringToPhoneNumberClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="phoneString" TransformationClaimType="phoneNumberString" />
<InputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="country" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Declarações de entrada:
- phoneNumberString: 033 456-7890
- country: DK
- Declarações de saída:
- outputClaim: +450334567890
Exemplo de ConvertStringToPhoneNumberClaim sem declaração de código de país
Confira a Demonstração ao vivo deste modo da transformação de declarações.
- Declarações de entrada:
- phoneNumberString: +1 (123) 456-7890
- Declarações de saída:
- outputClaim: +11234567890
Chamando a transformação de declarações ConvertStringToPhoneNumberClaim
O perfil técnico autodeclarado que chama o perfil técnico de validação que contém essa transformação de declarações pode definir a mensagem de erro.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
<Metadata>
<Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
GetNationalNumberAndCountryCodeFromPhoneNumberString
Extrai o código de país/região e o número nacional da declaração de entrada e, opcionalmente, gera uma exceção se o número de telefone fornecido não for válido. Confira a Demonstração ao vivo desta transformação de declarações.
Elemento | TransformationClaimType | Tipo de Dados | Observações |
---|---|---|---|
InputClaim | phoneNumber | string | A declaração de cadeia de caracteres do número de telefone. O número de telefone deve estar em formato internacional e ser iniciado com um "+" e o código de país/região. |
InputParameter | throwExceptionOnFailure | booleano | [Opcional] Um parâmetro que indica se uma exceção é gerada quando o número de telefone não é válido. O valor padrão é falso. |
InputParameter | countryCodeType | string | [Opcional] Um parâmetro que indica o tipo de código de país/região na declaração de saída. Os valores disponíveis são CallingCode (o código de chamada internacional para um país/região, por exemplo + 1) ou ISO3166 (o código de país/região ISO-3166 de duas letras). |
OutputClaim | nationalNumber | string | A declaração de cadeia de caracteres para o número nacional do número de telefone. |
OutputClaim | countryCode | string | A declaração de cadeia de caracteres para o código de país/região do número de telefone. |
Se a transformação de declarações GetNationalNumberAndCountryCodeFromPhoneNumberString for executada de um perfil técnico de validação chamado por um perfil técnico autodeclarado ou uma ação de controle de exibições, os metadados de perfil técnico autodeclarado UserMessageIfPhoneNumberParseFailure controlarão a mensagem de erro apresentada ao usuário.
Você pode usar essa transformação de declarações para dividir um número de telefone completo em código de país/região e número nacional. Se o número de telefone fornecido não for válido, você poderá optar por gerar uma mensagem de erro.
Exemplo de GetNationalNumberAndCountryCodeFromPhoneNumberString
O exemplo a seguir tenta dividir o número de telefone em um número nacional e o código de país/região. Se o número de telefone for válido, ele será substituído pelo número nacional. Se o número de telefone não for válido, não será gerada uma exceção, e o número de telefone manterá seu valor original.
<ClaimsTransformation Id="GetNationalNumberAndCountryCodeFromPhoneNumberString" TransformationMethod="GetNationalNumberAndCountryCodeFromPhoneNumberString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<InputParameters>
<InputParameter Id="throwExceptionOnFailure" DataType="boolean" Value="false" />
<InputParameter Id="countryCodeType" DataType="string" Value="ISO3166" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="nationalNumber" TransformationClaimType="nationalNumber" />
<OutputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="countryCode" />
</OutputClaims>
</ClaimsTransformation>
- Declarações de entrada:
- phoneNumber: +49 (123) 456-7890
- Parâmetros de entrada:
- throwExceptionOnFailure: false
- countryCodeType: ISO3166
- Declarações de saída:
- nationalNumber: 1234567890
- countryCode: DE
Exemplo de GetNationalNumberAndCountryCodeFromPhoneNumberString com o parâmetro CallingCode
O exemplo a seguir tenta dividir o número de telefone em um número nacional e o código de chamada do país.
<ClaimsTransformation Id="GetNationalNumberAndCountryCodeFromPhoneNumberString" TransformationMethod="GetNationalNumberAndCountryCodeFromPhoneNumberString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<InputParameters>
<InputParameter Id="throwExceptionOnFailure" DataType="boolean" Value="false" />
<InputParameter Id="countryCodeType" DataType="string" Value="CallingCode" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="nationalNumber" TransformationClaimType="nationalNumber" />
<OutputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="countryCode" />
</OutputClaims>
</ClaimsTransformation>
- Declarações de entrada:
- phoneNumber: +49 (123) 456-7890
- Parâmetros de entrada
- throwExceptionOnFailure: false
- countryCodeType: CallingCode
- Declarações de saída:
- nationalNumber: 1234567890
- countryCode: +49
Chamando a transformação de declarações GetNationalNumberAndCountryCodeFromPhoneNumberString
O perfil técnico autodeclarado que chama o perfil técnico de validação que contém essa transformação de declarações pode definir a mensagem de erro.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
<Metadata>
<Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
Próximas etapas
- Encontre mais amostras de transformação de declarações no repositório GitHub da comunidade do Azure AD B2C