Partage via


Définir des transformations de revendications de numéro de téléphone dans Azure AD B2C

Cet article contient des informations et des exemples pour l’utilisation de transformations de revendications de numéro de téléphone dans la stratégie personnalisée Azure Active Directory B2C (Azure AD B2C). Pour plus d’informations sur les transformations de revendications en général, voir ClaimsTransformations.

Notes

Cette fonctionnalité est en version préliminaire publique.

ConvertPhoneNumberClaimToString

Convertit un type de données phoneNumber en un type de données string. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim phoneNumber phoneNumber Revendication à convertir en chaîne.
OutputClaim phoneNumberString string Revendication générée une fois que cette transformation de revendications a été appelée.

Exemple de ConvertPhoneNumberClaimToString

Dans cet exemple, la revendication cellPhoneNumber avec un type de valeur phoneNumber est convertie en revendication cellPhone avec un type de valeur string.

<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
  </OutputClaims>
</ClaimsTransformation>
  • Revendications d’entrée :
    • phoneNumber : +11234567890 (phoneNumber)
  • Revendications de sortie :
    • phoneNumberString: +11234567890 (string)

ConvertStringToPhoneNumberClaim

Valide le format d’un numéro de téléphone. S’il est valide, remplacez-le par un format standard utilisé par Azure AD B2C. Si le format n’est pas valide, un message d’erreur est renvoyé. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim phoneNumberString string Revendication de chaîne pour le numéro de téléphone. Le numéro de téléphone doit être au format international, précédé du signe « + » et d’un indicatif de pays/région. Si la revendication d’entrée country est fournie, le numéro de téléphone est au format local (sans l’indicatif téléphonique international).
InputClaim country string [Facultatif] Revendication de chaîne pour l’indicatif téléphonique international au format ISO3166 (indicatif téléphonique international ISO-3166 à deux lettres).
OutputClaim outputClaim phoneNumber Résultat de cette transformation de revendications.

La transformation de revendications ConvertStringToPhoneNumberClaim est toujours exécutée à partir d’un profil technique de validation appelé par un profil technique autodéclaré ou un contrôle d’affichage. Les métadonnées du profil technique autodéclaré UserMessageIfClaimsTransformationInvalidPhoneNumber contrôlent le message d’erreur présenté à l’utilisateur.

Diagramme du chemin d’exécution du message d’erreur

Exemple de ConvertStringToPhoneNumberClaim

L’exemple suivant vérifie que la revendication phoneString est effectivement un numéro de téléphone valide, puis renvoie le numéro de téléphone au format Azure AD B2C standard. Si ce n’est pas le cas, un message d’erreur est levé.

<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>
  • Revendications d’entrée :
    • phoneNumberString : 033 456-7890
    • country : DK
  • Revendications de sortie :
    • outputClaim : +450334567890

Exemple de ConvertStringToPhoneNumberClaim sans revendication de code de pays

Découvrez la démonstration en direct de ce mode de transformation de revendication.

  • Revendications d’entrée :
    • phoneNumberString : +1 (123) 456-7890
  • Revendications de sortie :
    • outputClaim : +11234567890

Appel de la transformation de revendications ConvertStringToPhoneNumberClaim

Le profil technique auto-déclaré qui appelle le profil technique de validation contenant cette transformation de revendications peut définir le message d’erreur.

<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
  <Metadata>
    <Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
  </Metadata>
  ...
</TechnicalProfile>

GetNationalNumberAndCountryCodeFromPhoneNumberString

Extrait l’indicatif international et le numéro national de la revendication d’entrée, et lève éventuellement une exception si le numéro de téléphone fourni n’est pas valide. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim phoneNumber string Revendication de chaîne du numéro de téléphone. Le numéro de téléphone doit être au format international, précédé du signe « + » et d’un indicatif de pays/région.
InputParameter throwExceptionOnFailure boolean [Facultatif] Paramètre indiquant si une exception est levée lorsque le numéro de téléphone n’est pas valide. La valeur par défaut est false.
InputParameter countryCodeType string [Facultatif] Paramètre indiquant le type d’indicatif international dans la revendication de sortie. Les valeurs disponibles sont CallingCode (le code d’appel international d’un pays, par exemple + 1) ou ISO3166 (préfixe international ISO-3166 de deux lettres).
OutputClaim nationalNumber string Revendication de chaîne pour le numéro national du numéro de téléphone.
OutputClaim countryCode string Revendication de chaîne pour le préfixe international du numéro de téléphone.

Si la transformation de revendications GetNationalNumberAndCountryCodeFromPhoneNumberString est exécutée à partir d’un profil technique de validation appelé par un profil technique auto-déclaré ou une action de contrôle d’affichage, les métadonnées du profil technique auto-déclaré UserMessageIfPhoneNumberParseFailure contrôlent le message d’erreur présenté à l’utilisateur.

Diagramme du chemin d’exécution du message d’erreur

Vous pouvez utiliser cette transformation de revendications pour fractionner un numéro de téléphone complet en préfixe international et numéro national. Si le numéro de téléphone fourni n’est pas valide, vous pouvez choisir de lever un message d’erreur.

Example of GetNationalNumberAndCountryCodeFromPhoneNumberString

L’exemple suivant tente de fractionner le numéro de téléphone en numéro national et préfixe international. Si le numéro de téléphone est valide, il est remplacé par le numéro national. Si le numéro de téléphone n’est pas valide, aucune exception n’est levée et le numéro de téléphone conserve sa valeur d’origine.

<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>
  • Revendications d’entrée :
    • phoneNumber : +49 (123) 456-7890
  • Paramètres d’entrée :
    • throwExceptionOnFailure : false
    • countryCodeType : ISO3166
  • Revendications de sortie :
    • nationalNumber : 1234567890
    • countryCode : DE

Exemple de GetNationalNumberAndCountryCodeFromPhoneNumberString avec le paramètre CallingCode

L’exemple suivant tente de fractionner le numéro de téléphone en numéro national et indicatif de pays.

<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>
  • Revendications d’entrée :
    • phoneNumber : +49 (123) 456-7890
  • Paramètres d'entrée
    • throwExceptionOnFailure : false
    • countryCodeType : CallingCode
  • Revendications de sortie :
    • nationalNumber : 1234567890
    • countryCode : +49

Appel de la transformation de revendications GetNationalNumberAndCountryCodeFromPhoneNumberString

Le profil technique auto-déclaré qui appelle le profil technique de validation contenant cette transformation de revendications peut définir le message d’erreur.

<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
  <Metadata>
    <Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
  </Metadata>
  ...
</TechnicalProfile>

Étapes suivantes