Definiowanie przekształceń oświadczeń numerów telefonów w usłudze Azure AD B2C
Ten artykuł zawiera informacje referencyjne i przykłady użycia przekształceń oświadczeń numeru telefonu w niestandardowych zasadach usługi Azure Active Directory B2C (Azure AD B2C). Aby uzyskać więcej informacji na temat przekształceń oświadczeń w ogóle, zobacz ClaimsTransformations.
Uwaga
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
KonwertujPhoneNumberClaimToString
Konwertuje phoneNumber
typ danych na string
typ danych. Zapoznaj się z pokazem live tej transformacji oświadczeń.
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | phoneNumber | phoneNumber | Oświadczenie, które ma być konwertowane na ciąg. |
OutputClaim | phoneNumberString | ciąg | Oświadczenie, które jest generowane po wywołaniu tej transformacji oświadczeń. |
Przykład funkcji ConvertPhoneNumberClaimToString
W tym przykładzie oświadczenie cellPhoneNumber o typie phoneNumber
wartości jest konwertowane na oświadczenie telefonu komórkowego z typem string
wartości .
<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
</OutputClaims>
</ClaimsTransformation>
- Oświadczenia wejściowe:
- phoneNumber: +11234567890 (phoneNumber)
- Oświadczenia wyjściowe:
- phoneNumberString: +11234567890 (ciąg)
KonwertujStringToPhoneNumberClaim
Weryfikuje format numeru telefonu. Jeśli jest to prawidłowe, zmień go na standardowy format używany przez usługę Azure AD B2C. Jeśli podany numer telefonu nie jest w prawidłowym formacie, zostanie zwrócony komunikat o błędzie. Zapoznaj się z pokazem live tej transformacji oświadczeń.
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | phoneNumberString | ciąg | Oświadczenie o ciągu dla numeru telefonu. Numer telefonu musi być w formacie międzynarodowym, wraz z wiodącym kodem "+" i kraju/regionu. Jeśli podano oświadczenie country wejściowe, numer telefonu jest w formacie lokalnym (bez kodu kraju/regionu). |
InputClaim | country | ciąg | [Opcjonalnie] Oświadczenie ciągu dla kodu kraju/regionu numeru telefonu w formacie ISO3166 (dwuliterowy kod kraju/regionu ISO-3166). |
OutputClaim | outputClaim | phoneNumber | Wynik tej transformacji oświadczeń. |
Przekształcanie oświadczeń ConvertStringToPhoneNumberClaim jest zawsze wykonywane z profilu technicznego weryfikacji wywoływanego przez samozwańczy profil techniczny lub kontrolkę wyświetlania. Metadane profilu technicznego UserMessageIfClaimsTransformationInvalidPhoneNumber kontrolują komunikat o błędzie wyświetlany użytkownikowi.
Przykład funkcji ConvertStringToPhoneNumberClaim
Poniższy przykład sprawdza, czy oświadczenie phoneString jest rzeczywiście prawidłowym numerem telefonu, a następnie zwraca numer telefonu w standardowym formacie Azure AD B2C. W przeciwnym razie zostanie zgłoszony komunikat o błędzie.
<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>
- Oświadczenia wejściowe:
- phoneNumberString: 033 456-7890
- kraj: DK
- Oświadczenia wyjściowe:
- outputClaim: +450334567890
Przykład funkcji ConvertStringToPhoneNumberClaim bez oświadczenia kodu kraju
Zapoznaj się z pokazem live tego trybu przekształcania oświadczeń.
- Oświadczenia wejściowe:
- phoneNumberString: +1 (123) 456-7890
- Oświadczenia wyjściowe:
- outputClaim: +11234567890
Wywoływanie przekształcenia oświadczeń ConvertStringToPhoneNumberClaim
Własny profil techniczny, który wywołuje profil techniczny weryfikacji zawierający to przekształcenie oświadczeń, może zdefiniować komunikat o błędzie.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
<Metadata>
<Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
GetNationalNumberAndCountryCodeFromPhoneNumberString
Wyodrębnia kod kraju/regionu i numer krajowy oświadczenia wejściowego, a opcjonalnie zgłasza wyjątek, jeśli podany numer telefonu jest nieprawidłowy. Zapoznaj się z pokazem live tej transformacji oświadczeń.
Element | TransformationClaimType | Typ danych | Uwagi |
---|---|---|---|
InputClaim | phoneNumber | ciąg | Oświadczenie ciągu numeru telefonu. Numer telefonu musi być w formacie międzynarodowym, wraz z wiodącym kodem "+" i kraju/regionu. |
Inputparameter | throwExceptionOnFailure | boolean | [Opcjonalnie] Parametr wskazujący, czy wyjątek jest zgłaszany, gdy numer telefonu jest nieprawidłowy. Wartość domyślna to false. |
Inputparameter | countryCodeType | ciąg | [Opcjonalnie] Parametr wskazujący typ kodu kraju/regionu w oświadczeniu wyjściowym. Dostępne wartości to CallingCode (międzynarodowy kod wywołujący dla kraju/regionu, na przykład +1) lub ISO3166 (dwuliterowy kod ISO-3166 kraju/regionu). |
OutputClaim | nationalNumber | ciąg | Wniosek o ciąg dla numeru krajowego numeru telefonu. |
OutputClaim | countryCode | ciąg | Oświadczenie ciągu dla kodu kraju/regionu numeru telefonu. |
Jeśli przekształcenie oświadczeń GetNationalNumberAndCountryCodeFromPhoneNumberString jest wykonywane z profilu technicznego weryfikacji wywoływanego przez własny profil techniczny lub akcję kontrolki wyświetlania, wówczas userMessageIfPhoneNumberParseFailure self-asserted metadane profilu technicznego sterują komunikatem o błędzie przedstawionym użytkownikowi.
Możesz użyć tej transformacji oświadczeń, aby podzielić pełny numer telefonu na kod kraju/regionu i numer krajowy. Jeśli podany numer telefonu jest nieprawidłowy, możesz zgłosić komunikat o błędzie.
Przykład polecenia GetNationalNumberAndCountryCodeFromPhoneNumberString
Poniższy przykład próbuje podzielić numer telefonu na numer krajowy i kod kraju/regionu. Jeśli numer telefonu jest prawidłowy, numer telefonu zostanie zastąpiony numerem krajowym. Jeśli numer telefonu jest nieprawidłowy, wyjątek nie zostanie zgłoszony, a numer telefonu nadal ma oryginalną wartość.
<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>
- Oświadczenia wejściowe:
- phoneNumber: +49 (123) 456-7890
- Parametry wejściowe:
- throwExceptionOnFailure: false
- countryCodeType: ISO3166
- Oświadczenia wyjściowe:
- nationalNumber: 1234567890
- countryCode: DE
Przykład polecenia GetNationalNumberAndCountryCodeFromPhoneNumberString z parametrem CallingCode
Poniższy przykład próbuje podzielić numer telefonu na numer krajowy i numer kierunkowy kraju.
<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>
- Oświadczenia wejściowe:
- phoneNumber: +49 (123) 456-7890
- Parametry wejściowe
- throwExceptionOnFailure: false
- countryCodeType: CallingCode
- Oświadczenia wyjściowe:
- nationalNumber: 1234567890
- countryCode: +49
Wywoływanie przekształcenia oświadczeń GetNationalNumberAndCountryCodeFromPhoneNumberString
Samozwańczego profilu technicznego, który wywołuje profil techniczny weryfikacji zawierający to przekształcenie oświadczeń, może zdefiniować komunikat o błędzie.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
<Metadata>
<Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
Następne kroki
- Znajdź więcej przykładów przekształcania oświadczeń w repozytorium GitHub społeczności usługi Azure AD B2C