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.
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.
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
- Weitere Beispiele für die Anspruchstransformation finden Sie im GitHub-Repository der Azure-AD-B2C-Community