Definování transformací deklarací identity telefonních čísel v Azure AD B2C

Tento článek obsahuje referenční informace a příklady použití transformací deklarací identity telefonních čísel ve vlastních zásadách Azure Active Directory B2C (Azure AD B2C). Další informace o transformacích deklarací identity obecně najdete v tématu ClaimsTransformations.

Poznámka

Tato funkce je ve verzi Public Preview.

ConvertPhoneNumberClaimToString

Převede phoneNumber datový typ na string datový typ. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim Phonenumber Phonenumber Deklarace identity, která se má převést na řetězec.
OutputClaim phoneNumberString řetězec Deklarace identity, která se vytvoří po této transformaci deklarací identity, byla vyvolána.

Příklad ConvertPhoneNumberClaimToString

V tomto příkladu se deklarace cellPhoneNumber s typem phoneNumber hodnoty převede na deklaraci identity cellPhone s typem stringhodnoty .

<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
  </OutputClaims>
</ClaimsTransformation>
  • Vstupní deklarace identity:
    • phoneNumber: +11234567890 (phoneNumber)
  • Výstupní deklarace identity:
    • phoneNumberString: +11234567890 (řetězec)

ConvertStringToPhoneNumberClaim

Ověří formát telefonního čísla. Pokud je platný, změňte ho na standardní formát používaný Azure AD B2C. Pokud zadané telefonní číslo není v platném formátu, vrátí se chybová zpráva. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim phoneNumberString řetězec Řetězcová deklarace identity telefonního čísla. Telefonní číslo musí být v mezinárodním formátu s počátečním kódem "+" a kódem země/oblasti. Pokud zadáte vstupní deklaraci identity country , bude telefonní číslo v místním formátu (bez kódu země/oblasti).
InputClaim country řetězec [Volitelné] Řetězcová deklarace pro kód země/oblasti telefonního čísla ve formátu ISO3166 (dvoumísmenný kód země/oblasti ISO-3166).
OutputClaim outputClaim Phonenumber Výsledek této transformace deklarací identity.

Transformace deklarací identity ConvertStringToPhoneNumberClaim se vždy provádí z technického profilu ověření , který je volán vlastním technickým profilem nebo ovládacím prvku zobrazení. Metadata vlastního technického profilu UserMessageIfClaimsTransformationInvalidPhoneNumber řídí chybovou zprávu, která se zobrazí uživateli.

Diagram cesty spuštění chybové zprávy

Příklad ConvertStringToPhoneNumberClaim

Následující příklad zkontroluje, že deklarace identity phoneString je skutečně platné telefonní číslo, a pak vrátí telefonní číslo ve standardním formátu Azure AD B2C. V opačném případě se zobrazí chybová zpráva.

<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>
  • Vstupní deklarace identity:
    • phoneNumberString: 033 456-7890
    • země: DK
  • Výstupní deklarace identity:
    • outputClaim: +450334567890

Příklad Příkazu ConvertStringToPhoneNumberClaim bez deklarace kódu země

Podívejte se na živou ukázku tohoto režimu transformace deklarací identity.

  • Vstupní deklarace identity:
    • phoneNumberString: +1 (123) 456-7890
  • Výstupní deklarace identity:
    • outputClaim: +11234567890

Volání transformace deklarací identity ConvertStringToPhoneNumberClaim

Technický profil s vlastním prohlášením, který volá technický profil ověření, který obsahuje tuto transformaci deklarací identity, může definovat chybovou zprávu.

<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
  <Metadata>
    <Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
  </Metadata>
  ...
</TechnicalProfile>

GetNationalNumberAndCountryCodeFromPhoneNumberString

Extrahuje kód země/oblasti a národní číslo ze vstupní deklarace identity a volitelně vyvolá výjimku, pokud zadané telefonní číslo není platné. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim Phonenumber řetězec Řetězcová deklarace telefonního čísla. Telefonní číslo musí být v mezinárodním formátu s počátečním kódem "+" a kódem země/oblasti.
InputParameter throwExceptionOnFailure boolean [Volitelné] Parametr označující, jestli je vyvoláná výjimka, když telefonní číslo není platné. Výchozí hodnota je false.
InputParameter countryCodeType řetězec [Volitelné] Parametr označující typ kódu země/oblasti ve výstupní deklaraci identity. Dostupné hodnoty jsou Kód volání (mezinárodní volací kód pro zemi/oblast, například +1) nebo ISO3166 (dvoumísmenný kód země/oblasti ISO-3166).
OutputClaim nationalNumber řetězec Řetězcová deklarace pro národní číslo telefonního čísla.
OutputClaim countryCode řetězec Řetězcová deklarace identity pro kód země/oblasti telefonního čísla.

Pokud GetNationalNumberAndCountryCodeFromPhoneNumberString deklarace identity je spuštěna z ověřovacího technického profilu , který je volán vlastním technickým profilem nebo kontrolní akcí zobrazení, pak UserMessageIfPhoneNumberParseFailure metadata vlastního technického profilu řídí chybovou zprávu, která je uživateli zobrazena.

Diagram cesty spuštění chybové zprávy

Pomocí této transformace deklarací identity můžete rozdělit celé telefonní číslo na kód země/oblasti a národní číslo. Pokud zadané telefonní číslo není platné, můžete se rozhodnout generovat chybovou zprávu.

Příklad GetNationalNumberAndCountryCodeFromPhoneNumberString

Následující příklad se pokusí rozdělit telefonní číslo na národní číslo a kód země/oblasti. Pokud je telefonní číslo platné, bude telefonní číslo přepsáno národním číslem. Pokud telefonní číslo není platné, výjimka se nevyvolá a telefonní číslo bude mít stále původní hodnotu.

<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>
  • Vstupní deklarace identity:
    • telefonní číslo: +49 (123) 456-7890
  • Vstupní parametry:
    • throwExceptionOnFailure: false
    • countryCodeType: ISO3166
  • Výstupní deklarace identity:
    • nationalNumber: 1234567890
    • countryCode: DE

Příklad rutiny GetNationalNumberAndCountryCodeFromPhoneNumberString s parametrem CallingCode

Následující příklad se pokusí rozdělit telefonní číslo na národní číslo a kód pro volání země.

<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>
  • Vstupní deklarace identity:
    • telefonní číslo: +49 (123) 456-7890
  • Vstupní parametry
    • throwExceptionOnFailure: false
    • countryCodeType: Volající kód
  • Výstupní deklarace identity:
    • nationalNumber: 1234567890
    • countryCode: +49

Volání transformace deklarací identity GetNationalNumberAndCountryCodeFromPhoneNumberString

Technický profil s vlastním prohlášením, který volá technický profil ověření, který obsahuje tuto transformaci deklarací identity, může definovat chybovou zprávu.

<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
  <Metadata>
    <Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
  </Metadata>
  ...
</TechnicalProfile>

Další kroky