Definire le trasformazioni delle attestazioni di numeri di telefono in Azure AD B2C
Questo articolo fornisce informazioni di riferimento ed esempi per l'uso delle trasformazioni delle attestazioni dei numeri di telefono nei criteri personalizzati di Azure Active Directory B2C (Azure AD B2C). Per altre informazioni sulle trasformazioni delle attestazioni in generale, vedere ClaimsTransformations.
Nota
Questa funzionalità è disponibile in anteprima pubblica.
ConvertPhoneNumberClaimToString
Converte un tipo di dati phoneNumber
in un tipo di dati string
. Vedere la demo live di questa trasformazione delle attestazioni.
Elemento | TransformationClaimType | Tipo di dati | Note |
---|---|---|---|
InputClaim | phoneNumber | phoneNumber | Attestazione da convertire in una stringa. |
OutputClaim | phoneNumberString | string | Attestazione generata dopo la chiamata di questa trasformazione delle attestazioni. |
Esempio di ConvertPhoneNumberClaimToString
In questo esempio, l'attestazione cellPhoneNumber con un valore di tipo phoneNumber
viene convertita in un'attestazione cellPhone con un valore di tipo string
.
<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
</OutputClaims>
</ClaimsTransformation>
- Attestazioni di input:
- phoneNumber: +11234567890 (phoneNumber)
- Attestazioni di output:
- phoneNumberString: +11234567890 (string)
ConvertStringToPhoneNumberClaim
Convalida il formato di un numero di telefono. Se valido, modificarlo in un formato standard usato da Azure AD B2C. Se il numero di telefono specificato non è in un formato valido, viene restituito un messaggio di errore. Vedere la demo live di questa trasformazione delle attestazioni.
Elemento | TransformationClaimType | Tipo di dati | Note |
---|---|---|---|
InputClaim | phoneNumberString | string | Attestazione stringa per il numero di telefono. Il numero di telefono deve essere in formato internazionale, preceduto da un simbolo "+" e un codice paese/area geografica. Se viene specificata l'attestazione di input country , il numero di telefono è in formato locale (senza il codice paese/area geografica). |
InputClaim | country | string | [Facoltativo] Attestazione stringa per il codice paese/area geografica del numero di telefono in formato ISO3166 (codice paese/area geografica ISO-3166 composto da due lettere). |
OutputClaim | outputClaim | phoneNumber | Risultato della trasformazione delle attestazioni. |
La trasformazione delle attestazioni ConvertStringToPhoneNumberClaim viene sempre eseguita da un profilo tecnico di convalida chiamato da un profilo tecnico autocertificato o un controllo di visualizzazione. I metadati del profilo tecnico autocertificato UserMessageIfClaimsTransformationInvalidPhoneNumber controllano il messaggio di errore presentato all'utente.
Esempio di ConvertStringToPhoneNumberClaim
L'esempio seguente verifica che l'attestazione phoneString sia effettivamente un numero di telefono valido e quindi restituisca il numero di telefono nel formato standard di Azure AD B2C. In caso contrario, viene generato un messaggio di errore.
<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>
- Attestazioni di input:
- phoneNumberString: 033 456-7890
- country: DK
- Attestazioni di output:
- outputClaim: +450334567890
Esempio di ConvertStringToPhoneNumberClaim senza attestazione del codice paese
Vedere la demo live di questa modalità della trasformazione delle attestazioni.
- Attestazioni di input:
- phoneNumberString: +1 (123) 456-7890
- Attestazioni di output:
- outputClaim: +11234567890
Chiamata alla trasformazione delle attestazioni ConvertStringToPhoneNumberClaim
Il profilo tecnico autocertificato che chiama il profilo tecnico di convalida contenente questa trasformazione delle attestazioni può definire il messaggio di errore.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
<Metadata>
<Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
GetNationalNumberAndCountryCodeFromPhoneNumberString
Estrae il codice paese/area geografica e il numero nazionale dall'attestazione di input e, facoltativamente, genera un'eccezione se il numero di telefono specificato non è valido. Vedere la demo live di questa trasformazione delle attestazioni.
Elemento | TransformationClaimType | Tipo di dati | Note |
---|---|---|---|
InputClaim | phoneNumber | string | Attestazione stringa del numero di telefono. Il numero di telefono deve essere in formato internazionale, preceduto da un simbolo "+" e un codice paese/area geografica. |
InputParameter | throwExceptionOnFailure | boolean | [Facoltativo] Parametro che indica se viene generata un'eccezione quando il numero di telefono non è valido. Il valore predefinito è False. |
InputParameter | countryCodeType | string | [Facoltativo] Parametro che indica il tipo di codice paese/area geografica presente nell'attestazione di output. I valori disponibili sono CallingCode (codice di chiamata internazionale di un paese o area geografica, ad esempio +1) oppure ISO3166 (codice paese/area geografica ISO-3166 composto da due lettere). |
OutputClaim | nationalNumber | string | Attestazione stringa per il numero locale del numero di telefono. |
OutputClaim | countryCode | string | Attestazione stringa per il codice paese/area geografica del numero di telefono. |
Se la trasformazione delle attestazioni GetNationalNumberAndCountryCodeFromPhoneNumberString viene eseguita da un profilo tecnico di convalida chiamato da un profilo tecnico autocertificato o un'azione di controllo visualizzata, i metadati del profilo tecnico autocertificato UserMessageIfPhoneNumberParseFailure controllano il messaggio di errore presentato all'utente.
È possibile usare questa trasformazione delle attestazioni per dividere un numero di telefono completo in codice paese/area geografica e numero locale. Se il numero di telefono specificato non è valido, è possibile scegliere di generare un messaggio di errore.
Esempio di GetNationalNumberAndCountryCodeFromPhoneNumberString
L'esempio seguente prova a dividere il numero di telefono in numero locale e codice paese/area geografica. Se il numero di telefono è valido, tale numero verrà sostituito dal numero locale. Se il numero di telefono non è valido, non verrà generata un'eccezione e il numero di telefono ha ancora il valore originale.
<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>
- Attestazioni di input:
- phoneNumber: +49 (123) 456-7890
- Parametri di input:
- throwExceptionOnFailure: false
- countryCodeType: ISO3166
- Attestazioni di output:
- nationalNumber: 1234567890
- countryCode: DE
Esempio di GetNationalNumberAndCountryCodeFromPhoneNumberString con il parametro CallingCode
L'esempio seguente tenta di dividere il numero di telefono in numero nazionale e codice di chiamata paese.
<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>
- Attestazioni di input:
- phoneNumber: +49 (123) 456-7890
- Parametri di input
- throwExceptionOnFailure: false
- countryCodeType: CallingCode
- Attestazioni di output:
- nationalNumber: 1234567890
- countryCode: +49
Chiamata alla trasformazione delle attestazioni GetNationalNumberAndCountryCodeFromPhoneNumberString
Il profilo tecnico autocertificato che chiama il profilo tecnico di convalida contenente questa trasformazione delle attestazioni può definire il messaggio di errore.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
<Metadata>
<Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
Passaggi successivi
- Trovare altri esempi di trasformazione delle attestazioni nel repository GitHub della community di Azure AD B2C