Definir transformações de afirmações de número de telefone no Azure AD B2C
Este artigo fornece referências e exemplos para utilizar as transformações de afirmações de número de telefone na política personalizada do Azure Active Directory B2C (Azure AD B2C). Para obter mais informações sobre transformações de afirmações em geral, veja ClaimsTransformations( AfirmaçõesTransformações).
Nota
Esta funcionalidade está em pré-visualização pública.
ConvertPhoneNumberClaimToString
Converte um phoneNumber
tipo de dados num tipo de string
dados. Veja a Demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | phoneNumber | phoneNumber | A afirmação para converter numa cadeia. |
OutputClaim | phoneNumberString | string | A afirmação que é produzida após esta transformação de afirmações ter sido invocada. |
Exemplo de ConvertPhoneNumberClaimToString
Neste exemplo, a afirmação cellPhoneNumber com um tipo de valor de phoneNumber
é convertida numa afirmação de cellPhone com um tipo de valor de string
.
<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
</OutputClaims>
</ClaimsTransformation>
- Afirmações de entrada:
- phoneNumber: +11234567890 (phoneNumber)
- Afirmações de saída:
- phoneNumberString: +11234567890 (cadeia)
ConvertStringToPhoneNumberClaim
Valida o formato de um número de telefone. Se for válido, altere-o para um formato padrão utilizado pelo Azure AD B2C. Se o número de telefone fornecido não estiver num formato válido, é devolvida uma mensagem de erro. Veja a Demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | phoneNumberString | string | A afirmação de cadeia de carateres para o número de telefone. O número de telefone tem de estar em formato internacional, completo com um código "+" e de país/região à esquerda. Se for fornecida uma afirmação country de entrada, o número de telefone está no formato local (sem o código de país/região). |
InputClaim | país | string | [Opcional] A afirmação de cadeia 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 desta transformação de afirmações. |
A transformação de afirmações ConvertStringToPhoneNumberClaim é sempre executada a partir de um perfil técnico de validação chamado por um perfil técnico auto-afirmado ou controlo de apresentação. Os metadados do perfil técnico auto-declarado UserMessageIfClaimsTransformationInvalidPhoneNumber controlam a mensagem de erro apresentada ao utilizador.
Exemplo de ConvertStringToPhoneNumberClaim
O exemplo seguinte verifica se a afirmação phoneString é, de facto, um número de telefone válido e, em seguida, devolve o número de telefone no formato padrão Azure AD B2C. Caso contrário, é emitida uma mensagem de erro.
<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>
- Afirmações de entrada:
- phoneNumberString: 033 456-7890
- país: DK
- Afirmações de saída:
- outputClaim: +450334567890
Exemplo de ConvertStringToPhoneNumberClaim sem afirmação de código de país
Veja a Demonstração em direto deste modo da transformação de afirmações.
- Afirmações de entrada:
- phoneNumberString: +1 (123) 456-7890
- Afirmações de saída:
- outputClaim: +11234567890
Chamar a transformação de afirmações ConvertStringToPhoneNumberClaim
O perfil técnico auto-afirmado que chama o perfil técnico de validação que contém esta transformação de afirmaçõ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 afirmação de entrada e, opcionalmente, gera uma exceção se o número de telefone fornecido não for válido. Veja a Demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | phoneNumber | string | A afirmação de cadeia do número de telefone. O número de telefone tem de estar em formato internacional, completo com um código "+" e de país/região à esquerda. |
InputParameter | throwExceptionOnFailure | boolean | [Opcional] Um parâmetro que indica se é emitida uma exceção quando o número de telefone não é válido. O valor predefinido é falso. |
InputParameter | countryCodeType | string | [Opcional] Um parâmetro que indica o tipo de código de país/região na afirmaçã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 afirmação de cadeia de carateres para o número nacional do número de telefone. |
OutputClaim | countryCode | string | A afirmação de cadeia para o código de país/região do número de telefone. |
Se a transformação de afirmações GetNationalNumberAndCountryCodeFromPhoneNumberString for executada a partir de um perfil técnico de validação chamado por um perfil técnico auto-afirmado ou uma ação de controlo de apresentação, a userMessageIfPhoneNumberParseFailure auto-afirmada controla a mensagem de erro apresentada ao utilizador.
Pode utilizar esta transformação de afirmações para dividir um número de telefone completo no código de país/região e no número nacional. Se o número de telefone fornecido não for válido, pode optar por enviar uma mensagem de erro.
Exemplo de GetNationalNumberAndCountryCodeFromPhoneNumberString
O exemplo seguinte tenta dividir o número de telefone em número nacional e código de país/região. Se o número de telefone for válido, o número de telefone será substituído pelo número nacional. Se o número de telefone não for válido, não será emitida uma exceção e o número de telefone ainda tem o 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>
- Afirmações de entrada:
- phoneNumber: +49 (123) 456-7890
- Parâmetros de entrada:
- throwExceptionOnFailure: false
- countryCodeType: ISO3166
- Afirmações de saída:
- nationalNumber: 1234567890
- countryCode: DE
Exemplo do parâmetro GetNationalNumberAndCountryCodeFromPhoneNumberString com CallingCode
O exemplo seguinte tenta dividir o número de telefone em número nacional e código de chamada de país/região.
<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>
- Afirmações de entrada:
- phoneNumber: +49 (123) 456-7890
- Parâmetros de entrada
- throwExceptionOnFailure: false
- countryCodeType: CallingCode
- Afirmações de saída:
- nationalNumber: 1234567890
- countryCode: +49
Chamar a transformação de afirmações GetNationalNumberAndCountryCodeFromPhoneNumberString
O perfil técnico auto-afirmado que chama o perfil técnico de validação que contém esta transformação de afirmaçõ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>
Passos seguintes
- Encontre mais exemplos de transformação de afirmações no repositório do GitHub da comunidade B2C Azure AD