Freigeben über


Definieren von Forderungstransformationen für Telefonnummern in Azure AD B2C

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Dieser Artikel enthält Referenz und Beispiele für die Verwendung der benutzerdefinierten Azure Active Directory B2C(Azure AD B2C)-Richtlinie für Telefonnummernansprüche. Weitere Informationen zu Anspruchstransformationen im Allgemeinen finden Sie unter ClaimsTransformations.

Hinweis

Dieses Feature befindet sich in der öffentlichen Vorschau.

ConvertPhoneNumberClaimToString

Konvertiert einen phoneNumber Datentyp in einen string Datentyp. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung Telefonnummer Telefonnummer Der Anspruch, der in eine Zeichenfolge konvertiert werden soll.
OutputClaim (Ausgabeanspruch) phoneNumberZeichenfolge Schnur Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Beispiel für ConvertPhoneNumberClaimToString

In diesem Beispiel wird der cellPhoneNumber-Anspruch mit einem Werttyp phoneNumber in einen CellPhone-Anspruch mit einem Werttyp konvertiert string.

<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • phoneNumber: +11234567890 (phoneNumber)
  • Ausgabeansprüche:
    • phoneNumberString: +11234567890 (Zeichenfolge)

ConvertStringToPhoneNumberClaim

Überprüft das Format einer Telefonnummer. Wenn gültig, ändern Sie es in ein Standardformat, das von Azure AD B2C verwendet wird. Wenn sich die angegebene Telefonnummer nicht in einem gültigen Format befindet, wird eine Fehlermeldung zurückgegeben. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung phoneNumberZeichenfolge Schnur Der Zeichenfolgenanspruch für die Telefonnummer. Die Telefonnummer muss im internationalen Format vorliegen, vollständig mit einem führenden Code für "+" und "Land/Region". Wenn ein Eingabeanspruch country angegeben wird, befindet sich die Telefonnummer im lokalen Format (ohne Landes-/Regionscode).
Eingabe-Behauptung Staat Schnur [Optional] Der Zeichenfolgenanspruch für den Landes-/Regionscode der Telefonnummer im ISO3166 Format (der ISO-3166-Länder-/Regionscode mit zwei Buchstaben).
OutputClaim (Ausgabeanspruch) outputClaim (Ausschreibung) Telefonnummer Das Ergebnis dieser Anspruchstransformation.

Die ConvertStringToPhoneNumberClaim-Anspruchstransformation wird immer aus einem technischen Überprüfungsprofil ausgeführt, das von einem selbst bestätigten technischen Profil oder Anzeigesteuerelement aufgerufen wird. Die benutzerspezifischen Metadaten des Benutzerprofils "UserMessageIfClaimsTransformationInvalidPhoneNumber " steuern die Fehlermeldung, die dem Benutzer angezeigt wird.

Diagramm des Ausführungspfads für Fehlermeldungen

Beispiel für ConvertStringToPhoneNumberClaim

Im folgenden Beispiel wird überprüft, ob der PhoneString-Anspruch tatsächlich eine gültige Telefonnummer ist, und gibt dann die Telefonnummer im Standardmäßigen Azure AD B2C-Format zurück. Andernfalls wird eine Fehlermeldung ausgelöst.

<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>
  • Eingabeansprüche:
    • phoneNumberString: 033 456-7890
    • Land: DK
  • Ausgabeansprüche:
    • outputAnspruch: +450334567890

Beispiel für ConvertStringToPhoneNumberClaim ohne Ländercodeanspruch

Sehen Sie sich die Live-Demo dieses Modus der Anspruchstransformation an.

  • Eingabeansprüche:
    • phoneNumberString: +1 (123) 456-7890
  • Ausgabeansprüche:
    • outputAnspruch: +11234567890

Aufrufen der ConvertStringToPhoneNumberClaim-Anspruchstransformation

Das selbst bestätigte technische Profil, das das technische Überprüfungsprofil aufruft, das diese Anspruchstransformation enthält, kann die Fehlermeldung definieren.

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

GetNationalNumberAndCountryCodeFromPhoneNumberString

Extrahiert den Code für Land/Region und die nationale Nummer aus dem Eingabeanspruch und löst optional eine Ausnahme aus, wenn die angegebene Telefonnummer ungültig ist. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung Telefonnummer Schnur Der Zeichenfolgenanspruch der Telefonnummer. Die Telefonnummer muss im internationalen Format vorliegen, vollständig mit einem führenden Code für "+" und "Land/Region".
Eingabeparameter throwExceptionOnFailure Boolescher Wert [Optional] Ein Parameter, der angibt, ob eine Ausnahme ausgelöst wird, wenn die Telefonnummer ungültig ist. Der Standardwert ist „false“.
Eingabeparameter countryCodeType Schnur [Optional] Ein Parameter, der den Typ des Landes-/Regionscodes im Ausgabeanspruch angibt. Verfügbare Werte sind CallingCode (der internationale Aufrufcode für ein Land/eine Region, z. B. +1) oder ISO3166 (der zweiseitige ISO-3166-Länder-/Regionscode).
OutputClaim (Ausgabeanspruch) nationalNummer Schnur Der Zeichenfolgenanspruch für die nationale Nummer der Telefonnummer.
OutputClaim (Ausgabeanspruch) Landesvorwahl Schnur Der Zeichenfolgenanspruch für den Länder-/Regionscode der Telefonnummer.

Wenn die GetNationalNumberAndCountryCodeFromPhoneNumberString-Anspruchstransformation aus einem technischen Überprüfungsprofil ausgeführt wird, das von einem selbst bestätigten technischen Profil oder einer Anzeigesteuerelementaktion aufgerufen wird, steuert die selbstbesicherte technische Profilmetadaten von UserMessageIfPhoneNumberParseFailure die Fehlermeldung, die dem Benutzer angezeigt wird.

Diagramm des Ausführungspfads für Fehlermeldungen

Sie können diese Anspruchstransformation verwenden, um eine vollständige Telefonnummer in die Landes-/Regionsvorwahl und die nationale Nummer aufzuteilen. Wenn die angegebene Telefonnummer ungültig ist, können Sie eine Fehlermeldung auslösen.

Beispiel für GetNationalNumberAndCountryCodeFromPhoneNumberString

Im folgenden Beispiel wird versucht, die Telefonnummer in nationale Nummer und Länder-/Regionscode aufzuteilen. Wenn die Telefonnummer gültig ist, wird die Telefonnummer von der nationalen Nummer überschrieben. Wenn die Telefonnummer ungültig ist, wird eine Ausnahme nicht ausgelöst, und die Telefonnummer hat weiterhin ihren ursprünglichen Wert.

<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>
  • Eingabeansprüche:
    • Telefonnummer: +49 (123) 456-7890
  • Eingabeparameter:
    • throwExceptionOnFailure: falsch
    • countryCodeType: ISO3166
  • Ausgabeansprüche:
    • nationalNummer: 1234567890
    • LänderCode: DE

Beispiel für getNationalNumberAndCountryCodeFromPhoneNumberString mit CallingCode-Parameter

Im folgenden Beispiel wird versucht, die Telefonnummer in nationale Nummer und Länderanrufnummer aufzuteilen.

<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>
  • Eingabeansprüche:
    • Telefonnummer: +49 (123) 456-7890
  • Eingabeparameter
    • throwExceptionOnFailure: falsch
    • countryCodeType: CallingCode
  • Ausgabeansprüche:
    • nationalNummer: 1234567890
    • Landesvorwahl: +49

Aufrufen der GetNationalNumberAndCountryCodeFromPhoneNumberString-Anspruchstransformation

Das selbst bestätigte technische Profil, das das technische Überprüfungsprofil aufruft, das diese Anspruchstransformation enthält, kann die Fehlermeldung definieren.

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

Nächste Schritte