Teilen über


Definieren von Anspruchstransformationen von Telefonnummern in Azure AD B2C

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

Hinweis

Dieses Feature befindet sich in der Phase der öffentlichen Vorschau.

ConvertPhoneNumberClaimToString

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

Element TransformationClaimType Datentyp Notizen
InputClaim phoneNumber phoneNumber Der Anspruch, der in eine Zeichenfolge konvertiert werden soll.
OutputClaim phoneNumberString Zeichenfolge Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Ein Beispiel für ConvertPhoneNumberClaimToString

In diesem Beispiel wird der „cellPhoneNumber“-Anspruch mit dem Werttyp phoneNumber in einen „cellPhone“-Anspruch mit dem Werttyp string konvertiert.

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

ConvertStringToPhoneNumberClaim

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

Element TransformationClaimType Datentyp Notizen
InputClaim phoneNumberString Zeichenfolge Der Zeichenfolgenanspruch für die Telefonnummer. Die Telefonnummer muss im internationalen Format vorliegen. Ihr muss ein führendes Zeichen „+“ und der Länder-/Regionscode vorangestellt werden. Wenn der Eingabeanspruch country bereitgestellt wird, liegt die Telefonnummer im lokalen Format vor (ohne Länder-/Regionscode).
InputClaim country Zeichenfolge [Optional] Der Zeichenfolgenanspruch für den Länder-/Regionscode der Telefonnummer im ISO3166-Format (der aus zwei Buchstaben bestehende ISO-3166-Länder-/Regionscode).
OutputClaim outputClaim phoneNumber Das Ergebnis dieser Anspruchstransformation.

Die Anspruchstransformation ConvertStringToPhoneNumberClaim wird immer über ein technisches Validierungsprofil ausgeführt, das von einem selbstbestätigten technischen Profil oder einem Anzeigesteuerelement aufgerufen wird. Die Metadaten des selbstbestätigten technischen Profils UserMessageIfClaimsTransformationInvalidPhoneNumber steuern die Fehlermeldung, die dem Benutzer anzeigt wird.

Abbildung des Ausführungspfads der Fehlermeldung

Ein Beispielfür ConvertStringToPhoneNumberClaim

Im folgenden Beispiel wird überprüft, ob der Claim phoneString tatsächlich eine gültige Telefonnummer ist, dann wird die Telefonnummer im Azure AD B2C-Standardformat zurückgegeben. 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
    • country: DK
  • Ausgabeansprüche:
    • outputClaim: +450334567890

Ein Beispiel für ConvertStringToPhoneNumberClaim ohne Landeskennzahlsanspruch

Sehen Sie sich die Livedemo dieses Modus der Anspruchstransformation an.

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

Aufrufen der Anspruchstransformation ConvertStringToPhoneNumberClaim

Das selbstbestätigte technische Profil, das das technische Validierungsprofil 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

Hierdurch werden der Länder-/Regionscode und die nationale Rufnummer aus dem Eingabeanspruch extrahiert. Optional wird eine Ausnahme ausgelöst, wenn die angegebene Telefonnummer ungültig ist. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim phoneNumber Zeichenfolge Der Zeichenfolgenanspruch der Telefonnummer. Die Telefonnummer muss im internationalen Format vorliegen. Ihr muss ein führendes Zeichen „+“ und der Länder-/Regionscode vorangestellt werden.
InputParameter throwExceptionOnFailure boolean [Optional] Ein Parameter, der angibt, ob eine Ausnahme ausgelöst wird, wenn die Telefonnummer ungültig ist. Der Standardwert ist „false“.
InputParameter countryCodeType Zeichenfolge [Optional] Ein Parameter, der den Typ des Länder-/Regionscodes im Ausgabeanspruch angibt. Verfügbare Werte sind CallingCode (der internationale Aufrufcode für ein Land bzw. eine Region, z. B. +1) oder ISO3166 (der aus zwei Buchstaben bestehende ISO-3166-Länder-/Regionscode).
OutputClaim nationalNumber Zeichenfolge Der Zeichenfolgenanspruch für die nationale Rufnummer der Telefonnummer.
OutputClaim countryCode Zeichenfolge Der Zeichenfolgenanspruch für den Länder-/Regionscode der Telefonnummer.

Wenn die Anspruchstransformation GetNationalNumberAndCodeFromPhoneNumberString aus einem technischen Validierungsprofil ausgeführt wird, das von einem selbstbestätigten technischen Profil oder einer Anzeigesteuerelementaktion aufgerufen wird, dann steuern die UserMessageIfPhoneNumberParseFailure-Metadaten des selbstbestätigten technischen Profils die Fehlermeldung, die dem Benutzer angezeigt wird.

Abbildung des Ausführungspfads der Fehlermeldung

Mit dieser Anspruchstransformation können Sie eine vollständige Telefonnummer in den Länder-/Regionscode und die nationale Rufnummer aufteilen. Wenn die angegebene Telefonnummer ungültig ist, können Sie auswählen, ob eine Fehlermeldung ausgegeben werden soll.

Ein Beispiel für GetNationalNumberAndCountryCodeFromPhoneNumberString

Im folgenden Beispiel wird versucht, die Telefonnummer in die nationale Rufnummer und den Länder-/Regionscode aufzuteilen. Wenn die Telefonnummer gültig ist, wird die Telefonnummer von der nationalen Rufnummer überschrieben. Wenn die Telefonnummer ungültig ist, wird keine Ausnahme ausgelöst, und die Telefonnummer weist weiterhin den ursprünglichen Wert auf.

<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:
    • phoneNumber: +49 (123) 456-7890
  • Eingabeparameter:
    • throwExceptionOnFailure: FALSE
    • countryCodeType: ISO3166
  • Ausgabeansprüche:
    • nationalNumber: 1234567890
    • countryCode: DE

Ein Beispiel für GetFolgenNumberAndCountryCodeFromPhoneNumberString mit dem CallingCode-Parameter

Im folgenden Beispiel wird versucht, die Telefonnummer in die nationale Rufnummer und den Ländercode 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:
    • phoneNumber: +49 (123) 456-7890
  • Eingabeparameter
    • throwExceptionOnFailure: FALSE
    • countryCodeType: CallingCode
  • Ausgabeansprüche:
    • nationalNumber: 1234567890
    • countryCode: +49

Aufrufen der Anspruchstransformation Get NationalNumberAndCountryCodeFromPhoneNumberString

Das selbstbestätigte technische Profil, das das technische Validierungsprofil 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