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 string
hodnoty .
<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.
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.
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
- Další ukázky transformace deklarací identity najdete v úložišti GitHubu komunity Azure AD B2C.