Udostępnij za pośrednictwem


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 stringwartoś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.

Diagram ścieżki wykonywania komunikatu o błędzie

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.

Diagram ścieżki wykonywania komunikatu o błędzie

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