Partager via


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

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Cet article fournit des informations de référence et des exemples d’utilisation des transformations de revendications de numéros 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, consultez ClaimsTransformations.

Remarque

Cette fonctionnalité est disponible en préversion publique.

ConvertPhoneNumberClaimToString

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

Élément TransformationClaimType Type de données Remarques
InputClaim numéro de téléphone numéro de téléphone Revendication à convertir en chaîne.
OutputClaim phoneNumberString ficelle 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 valeur est phoneNumber convertie en revendication cellPhone avec un type valeur de 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 (chaîne)

ConvertStringToPhoneNumberClaim

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

Élément TransformationClaimType Type de données Remarques
InputClaim phoneNumberString ficelle Revendication de chaîne pour le numéro de téléphone. Le numéro de téléphone doit être au format international, avec un code « + » et un code pays/région de début. Si la revendication country d’entrée est fournie, le numéro de téléphone est au format local (sans code pays/région).
InputClaim pays ficelle [Facultatif] Revendication de chaîne pour le code pays/région du numéro de téléphone au format ISO3166 (code pays/région ISO-3166 à deux lettres).
OutputClaim outputClaim numéro de téléphone 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 de profil technique autodéclarées 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 en effet un numéro de téléphone valide, puis retourne le numéro de téléphone au format Azure AD B2C standard. Sinon, un message d’erreur est levée.

<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
    • pays : DK
  • Revendications de sortie :
    • outputClaim : +450334567890

Exemple de ConvertStringToPhoneNumberClaim sans revendication de code de pays

Consultez la démonstration en direct de ce mode de transformation de revendications.

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

Appel de la transformation de revendications ConvertStringToPhoneNumberClaim

Le profil technique autodéclaré qui appelle le profil technique de validation qui contient 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 le code pays/région 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 Remarques
InputClaim numéro de téléphone ficelle Revendication de chaîne du numéro de téléphone. Le numéro de téléphone doit être au format international, avec un code « + » et un code pays/région de début.
InputParameter throwExceptionOnFailure booléen [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 ficelle [Facultatif] Paramètre indiquant le type de code pays/région dans la revendication de sortie. Les valeurs disponibles sont CallingCode (code d’appel international pour un pays/une région, par exemple +1) ou ISO3166 (code ISO-3166 pays/région à deux lettres).
OutputClaim nationalNumber ficelle Revendication de chaîne pour le numéro national du numéro de téléphone.
OutputClaim countryCode ficelle Revendication de chaîne pour le code pays/région du numéro de téléphone.

Si la transformation des revendications GetNationalNumberAndCountryCodeFromPhoneNumberString est exécutée à partir d’un profil technique de validation appelé par un profil technique autodéclaré ou une action de contrôle d’affichage, les métadonnées du profil technique autodé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 code pays/région 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.

Exemple de GetNationalNumberAndCountryCodeFromPhoneNumberString

L’exemple suivant tente de fractionner le numéro de téléphone en numéro national et en code pays/région. Si le numéro de téléphone est valide, le numéro de téléphone est remplacé par le numéro national. Si le numéro de téléphone n’est pas valide, une exception ne sera pas levée et le numéro de téléphone a toujours 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 en code d’appel 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 autodéclaré qui appelle le profil technique de validation qui contient 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