Udostępnij przez


Definiowanie przekształceń oświadczeń numerów telefonów w usłudze Azure AD B2C

Ważne

Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.

Ten artykuł zawiera dokumentację i przykłady użycia przekształceń oświadczeń numerów telefonów w zasadach niestandardowych 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 / Notatka

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ń.

Składnik TransformationClaimType Typ danych Notatki
Oświadczenie wejściowe numer telefonu numer telefonu Oświadczenie do konwersji na ciąg.
OutputClaim (Roszczenie wyjściowe) phoneNumberString (ciąg numerów) sznurek Oświadczenie, które zostało wygenerowane po wywołaniu tego przekształcenia 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)

ConvertStringToPhoneNumberClaim

Weryfikuje format numeru telefonu. Jeśli jest prawidłowa, zmień go na standardowy format używany przez usługę Azure AD B2C. Jeśli podany numer telefonu nie ma prawidłowego formatu, zostanie zwrócony komunikat o błędzie. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Składnik TransformationClaimType Typ danych Notatki
Oświadczenie wejściowe phoneNumberString (ciąg numerów) sznurek Oświadczenie 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).
Oświadczenie wejściowe kraj sznurek [Opcjonalnie] Oświadczenie ciągu dla kodu kraju/regionu numeru telefonu w formacie ISO3166 (dwuliterowy kod kraju/regionu ISO-3166).
OutputClaim (Roszczenie wyjściowe) outputClaim (roszczenie wyjściowe) numer telefonu Wynik tego przekształcenia oświadczeń.

Przekształcanie oświadczeń ConvertStringToPhoneNumberClaim jest zawsze wykonywane z profilu technicznego weryfikacji, który jest wywoływany przez własny profil techniczny lub kontrolkę wyświetlania. Metadane profilu technicznego UserMessageIfClaimsTransformationInvalidPhoneNumber samozwańczego profilu technicznego sterują komunikatem o błędzie wyświetlanym 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 usługi Azure AD B2C. W przeciwnym razie jest zgłaszany 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 żądania 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 (Ciąg GetNationalNumberAndCountryCodeFromPhoneNumberString)

Wyodrębnia kod kraju/regionu i numer krajowy z 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ń.

Składnik TransformationClaimType Typ danych Notatki
Oświadczenie wejściowe numer telefonu sznurek Oświadczenie ciągu numeru telefonu. Numer telefonu musi być w formacie międzynarodowym, wraz z wiodącym kodem "+" i kraju/regionu.
Parametr wejściowy throwExceptionOnFailure typ logiczny (boolowski) [Opcjonalnie] Parametr wskazujący, czy wyjątek jest zgłaszany, gdy numer telefonu jest nieprawidłowy. Wartość domyślna to false.
Parametr wejściowy countryCodeType (Typ kodu) sznurek [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 kraju/regionu ISO-3166).
OutputClaim (Roszczenie wyjściowe) nationalNumber (numer_narodowy) sznurek Oświadczenie dotyczące numeru krajowego numeru telefonu.
OutputClaim (Roszczenie wyjściowe) Kod kraju sznurek 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

Za pomocą tej transformacji oświadczeń można 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 nie jest prawidł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:
    • Numer telefonu: +49 (123) 456-7890
  • Parametry wejściowe:
    • throwExceptionOnFailure: wartość false
    • countryCodeType: ISO3166
  • Oświadczenia wyjściowe:
    • nationalNumber: 1234567890
    • krajKod: DE

Przykład getNationalNumberAndCountryCodeFromPhoneNumberString z parametrem CallingCode

W poniższym przykładzie próbuje się podzielić numer telefonu na numer krajowy i numer telefonu oraz kod połączenia z krajem.

<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:
    • Numer telefonu: +49 (123) 456-7890
  • Parametry wejściowe
    • throwExceptionOnFailure: wartość false
    • countryCodeType: DzwonienieKod
  • Oświadczenia wyjściowe:
    • nationalNumber: 1234567890
    • krajKod: +49

Wywoływanie przekształcenia oświadczeń GetNationalNumberAndCountryCodeFromPhoneNumberString

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="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
  </Metadata>
  ...
</TechnicalProfile>

Dalsze kroki

  • Znajdź więcej przykładów przekształcania oświadczeń w repozytorium GitHub społeczności usługi Azure AD B2C