ClaimsSchema

Poznámka

V Azure Active Directory B2C jsou vlastní zásady navržené primárně tak, aby řešily složité scénáře. Ve většině scénářů doporučujeme používat předdefinované toky uživatelů. Pokud jste to neudělali, přečtěte si informace o úvodním balíčku vlastních zásad v tématu Začínáme s vlastními zásadami v Active Directory B2C.

Element ClaimsSchema definuje typy deklarací identity, na které je možné v rámci zásad odkazovat. Ve schématu deklarací identity deklarujete deklarace identity. Deklarace identity může být jméno, příjmení, zobrazované jméno, telefonní číslo a další. ClaimsSchema element obsahuje seznam ClaimType elementů. Element ClaimType obsahuje atribut Id , což je název deklarace identity.

<BuildingBlocks>
  <ClaimsSchema>
    <ClaimType Id="Id">
      <DisplayName>Surname</DisplayName>
      <DataType>string</DataType>
      <DefaultPartnerClaimTypes>
        <Protocol Name="OAuth2" PartnerClaimType="family_name" />
        <Protocol Name="OpenIdConnect" PartnerClaimType="family_name" />
        <Protocol Name="SAML2" PartnerClaimType="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" />
      </DefaultPartnerClaimTypes>
      <UserHelpText>Your surname (also known as family name or last name).</UserHelpText>
      <UserInputType>TextBox</UserInputType>

Typ deklarace identity

Element ClaimType obsahuje následující atribut:

Atribut Povinné Popis
Id Ano Identifikátor, který se používá pro typ deklarace identity. Tento identifikátor můžou v zásadách používat i jiné prvky.

Element ClaimType obsahuje následující prvky:

Prvek Výskyty Popis
DisplayName 1:1 Název, který se zobrazuje uživatelům na různých obrazovkách. Hodnotu lze lokalizovat.
DataType 1:1 Typ deklarace identity.
DefaultPartnerClaimTypes 0:1 Výchozí typy deklarací identity partnera, které se použijí pro zadaný protokol. Hodnota může být přepsána v PartnerClaimType zadané v InputClaim nebo OutputClaim elementy. Tento element slouží k zadání výchozího názvu protokolu.
Maska 0:1 Volitelný řetězec znaků maskování, který lze použít při zobrazení deklarace identity. Například telefonní číslo 324-232-4343 může být maskováno jako XXX-XXX-4343.
UserHelpText 0:1 Popis typu deklarace identity, který může být užitečný pro uživatele, aby porozuměli jeho účelu. Hodnotu lze lokalizovat.
Typ objektu UserInputType 0:1 Typ vstupního ovládacího prvku, který by měl být k dispozici uživateli při ručním zadávání dat deklarace identity pro typ deklarace identity. Podívejte se na typy uživatelských vstupů definované dále na této stránce.
AdminHelpText 0:1 Popis typu deklarace identity, který může být užitečný pro správce, aby porozuměli jeho účelu.
Omezení 0:1 Omezení hodnoty pro tuto deklaraci identity, například regulární výraz (Regulární výraz) nebo seznam přijatelných hodnot. Hodnotu lze lokalizovat.
PredikátValidationReference 0:1 Odkaz na element PredicateValidationsInput . PredicateValidationReference prvky umožňují provést proces ověření, aby se zajistilo, že jsou zadána pouze správně formátovaná data. Další informace najdete v tématu Predikáty.

DataType

Element DataType podporuje následující hodnoty:

Typ Popis
boolean Představuje logickou hodnotu (true nebo false).
date Představuje okamžik v čase, obvykle vyjádřený jako datum dne. Hodnota data se řídí normou ISO 8601.
data a času. Představuje okamžik v čase, obvykle vyjádřený jako datum a čas dne. Hodnota data se za běhu řídí konvencí ISO 8601 a při vystavení deklarace identity na token se převede na epochový čas systému UNIX.
doba trvání Představuje časový interval v letech, měsících, dnech, hodinách, minutách a sekundách. Formát je PnYnMnDTnHnMnS, kde P označuje kladnou nebo N zápornou hodnotu. nY je počet roků následovaných literálem Y. nMo je počet měsíců následovaných literálem Mo. nD je počet dnů následovaný literálem D. Příklady: P21Y představuje 21 let. P1Y2Mo představuje jeden rok a dva měsíce. P1Y2Mo5D představuje jeden rok, dva měsíce a pět dnů. P1Y2M5DT8H5M20S představuje jeden rok, dva měsíce, pět dní, osm hodin, pět minut a dvacet sekund.
Phonenumber Představuje telefonní číslo.
int Představuje číslo mezi -2 147 483 648 a 2 147 483 647.
long Představuje číslo mezi -9 223 372 036 854 775 808 až 9 223 372 036 854 775 807.
řetězec Představuje text jako sekvenci jednotek kódu UTF-16.
Stringcollection Představuje kolekci .string
userIdentity Představuje identitu uživatele.
userIdentityCollection Představuje kolekci .userIdentity

DefaultPartnerClaimTypes

DefaultPartnerClaimTypes může obsahovat následující element:

Prvek Výskyty Popis
Protokol 1:n Seznam protokolů s výchozím názvem typu deklarace identity partnera

Element Protocol obsahuje následující atributy:

Atribut Povinné Popis
Název Ano Název platného protokolu podporovaného Azure AD B2C. Možné hodnoty jsou: OAuth1, OAuth2, SAML2, OpenIdConnect.
Typ PartnerClaimType Ano Název typu deklarace identity, který se má použít.

V následujícím příkladu, když Identity Experience Framework komunikuje se zprostředkovatelem identity SAML2 nebo aplikací předávající strany, deklarace identity příjmení se mapuje na http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname, s OpenIdConnect a OAuth2, deklarace identity se mapuje na family_name.

<ClaimType Id="surname">
  <DisplayName>Surname</DisplayName>
  <DataType>string</DataType>
  <DefaultPartnerClaimTypes>
    <Protocol Name="OAuth2" PartnerClaimType="family_name" />
    <Protocol Name="OpenIdConnect" PartnerClaimType="family_name" />
    <Protocol Name="SAML2" PartnerClaimType="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" />
  </DefaultPartnerClaimTypes>
</ClaimType>

V důsledku toho token JWT vydaný Azure AD B2C vygeneruje family_name místo jména ClaimType příjmení.

{
  "sub": "6fbbd70d-262b-4b50-804c-257ae1706ef2",
  "auth_time": 1535013501,
  "given_name": "David",
  "family_name": "Williams",
  "name": "David Williams",
}

Maska

Element Mask obsahuje následující atributy:

Atribut Povinné Popis
Type Ano Typ masky deklarace identity Možné hodnoty: Simple nebo Regex. Hodnota Simple označuje, že se na úvodní část deklarace identity řetězce použije jednoduchá textová maska. Hodnota Regex označuje, že se regulární výraz použije na deklaraci identity řetězce jako celek. Regex Pokud je hodnota zadána, musí být také definován volitelný atribut s regulárním výrazem, který se má použít.
Regex Ne Pokud Type je nastavená hodnota Regex, zadejte regulární výraz, který se má použít.

Následující příklad nakonfiguruje deklaraci identity PhoneNumber s maskou Simple . Další ukázky najdete v živé ukázce deklarace jednoduché masky.

<ClaimType Id="PhoneNumber">
  <DisplayName>Phone Number</DisplayName>
  <DataType>string</DataType>
  <Mask Type="Simple">XXX-XXX-</Mask>
  <UserHelpText>Your telephone number.</UserHelpText>
</ClaimType>

Architektura prostředí identit vykreslí telefonní číslo a skryje prvních šest číslic:

Deklarace telefonního čísla zobrazená v prohlížeči s prvními šesti číslicemi maskovanými Xs

Následující příklad konfiguruje deklaraci identity AlternateEmail s maskou Regex . Další ukázky najdete v živé ukázce masky regulárního výrazu.

<ClaimType Id="AlternateEmail">
  <DisplayName>Please verify the secondary email linked to your account</DisplayName>
  <DataType>string</DataType>
  <Mask Type="Regex" Regex="(?&lt;=.).(?=.*@)">*</Mask>
  <UserInputType>Readonly</UserInputType>
</ClaimType>

Architektura prostředí identit vykreslí pouze první písmeno e-mailové adresy a názvu e-mailové domény:

Email deklarace identity zobrazená v prohlížeči se znaky maskovanými hvězdičkami

Omezení

Element Restriction může obsahovat následující atribut:

Atribut Povinné Popis
MergeBehavior Ne Metoda použitá ke sloučení hodnot výčtu s ClaimType v nadřazené zásadě se stejným identifikátorem. Tento atribut použijte při přepsání deklarace identity zadané v základních zásadách. Možné hodnoty: Append, Prependnebo ReplaceAll. Hodnota Append je kolekce dat, která by měla být připojena na konec kolekce určené v nadřazené zásadě. Hodnota Prepend je kolekce dat, která by se měla přidat před kolekci zadanou v nadřazené zásadě. Hodnota ReplaceAll je kolekce dat zadaná v nadřazené zásadě, která by se měla ignorovat.

Element Restriction obsahuje následující prvky:

Prvek Výskyty Popis
Výčet 1:n Dostupné možnosti v uživatelském rozhraní, které uživatel může vybrat pro deklaraci identity, například hodnotu v rozevíracím seznamu.
Vzor 1:1 Regulární výraz, který se má použít.

Výčet

Element Enumeration definuje dostupné možnosti, které má uživatel vybrat pro deklaraci identity v uživatelském rozhraní, například hodnotu v objektu CheckboxMultiSelect, DropdownSingleSelectnebo RadioSingleSelect. Alternativně můžete definovat a lokalizovat dostupné možnosti s LocalizedCollections element. Chcete-li vyhledat položku z kolekce výčtu deklarací identity, použijte getMappedValueFromLocalizedCollection transformace deklarací identity.

Element Enumeration obsahuje následující atributy:

Atribut Povinné Popis
Text Ano Zobrazovaný řetězec, který se zobrazí uživateli v uživatelském rozhraní pro tuto možnost.
Hodnota Ano Hodnota deklarace identity přidružená k výběru této možnosti.
SelectByDefault Ne Určuje, jestli má být tato možnost ve výchozím nastavení v uživatelském rozhraní vybraná. Možné hodnoty: True nebo False.

Následující příklad nakonfiguruje deklaraci identity rozevíracího seznamu měst s výchozí hodnotou nastavenou na New York. Další ukázky najdete v živé ukázce výčtu omezení deklarací identity.

<ClaimType Id="city">
  <DisplayName>city where you work</DisplayName>
  <DataType>string</DataType>
  <UserInputType>DropdownSingleSelect</UserInputType>
  <Restriction>
    <Enumeration Text="Bellevue" Value="bellevue" SelectByDefault="false" />
    <Enumeration Text="Redmond" Value="redmond" SelectByDefault="false" />
    <Enumeration Text="New York" Value="new-york" SelectByDefault="true" />
  </Restriction>
</ClaimType>

Rozevírací seznam měst s výchozí hodnotou nastavenou na New York:

Ovládací prvek rozevíracího seznamu vykreslený v prohlížeči a zobrazující výchozí hodnotu

Vzor

Element Pattern může obsahovat následující atributy:

Atribut Povinné Popis
Regulární výraz Ano Regulární výraz tohoto typu se musí shodovat, aby byl platný.
Helptext Ne Chybová zpráva pro uživatele, pokud se kontrola regulárního výrazu nezdaří.

Následující příklad nakonfiguruje e-mailovou deklaraci identity s ověřením vstupu regulárního výrazu a textem nápovědy:

<ClaimType Id="email">
  <DisplayName>Email Address</DisplayName>
  <DataType>string</DataType>
  <DefaultPartnerClaimTypes>
  <Protocol Name="OpenIdConnect" PartnerClaimType="email" />
  </DefaultPartnerClaimTypes>
  <UserHelpText>Email address that can be used to contact you.</UserHelpText>
  <UserInputType>TextBox</UserInputType>
  <Restriction>
    <Pattern RegularExpression="^[a-zA-Z0-9.+!#$%&amp;'+^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&amp;'+^_`{}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$" HelpText="Please enter a valid email address." />
  </Restriction>
</ClaimType>

Architektura prostředí identit vykreslí deklaraci e-mailové adresy s ověřením vstupu ve formátu e-mailu:

Textové pole zobrazující chybovou zprávu aktivovanou omezením regulárního výrazu

Typ objektu UserInputType

Azure AD B2C podporuje různé typy uživatelských vstupů, například textové pole, heslo a rozevírací seznam, které lze použít při ručním zadávání dat deklarace identity pro daný typ deklarace identity. Při shromažďování informací od uživatele pomocí technického profilu a ovládacích prvků zobrazení je nutné zadat UserInputType.

Podívejte se na živou ukázku typu vstupu uživatele.

Dostupné typy vstupu uživatele elementu UserInputType :

UserInputType Podporovaný typ deklarace identity Popis
Zaškrtávací políčkoMultiSelect string Rozevírací seznam s vícenásobným výběrem. Hodnota deklarace identity je reprezentována v řetězci oddělovače čárkami vybraných hodnot.
DateTimeDropdown date, dateTime Rozevírací seznam pro výběr dne, měsíce a roku
Rozevírací seznamSingleSelect string Rozevírací seznam s jedním výběrem. Hodnota deklarace identity je vybraná hodnota.
EmailBox string Email vstupní pole.
Odstavec boolean, date, dateTime, duration, int, long, string Pole, které zobrazuje text pouze ve značce odstavce.
Heslo string Textové pole Heslo.
RadioSingleSelect string Kolekce přepínačů. Hodnota deklarace identity je vybraná hodnota.
Readonly boolean, date, dateTime, duration, int, long, string Textové pole jen pro čtení.
TextBox boolean, int, phoneNumber, string Jednořádkové textové pole.

TextBox

Typ vstupu uživatele TextBox slouží k zadání jednořádkového textového pole.

Textové pole zobrazující vlastnosti zadané v typu deklarace identity

<ClaimType Id="displayName">
  <DisplayName>Display Name</DisplayName>
  <DataType>string</DataType>
  <UserHelpText>Your display name.</UserHelpText>
  <UserInputType>TextBox</UserInputType>
</ClaimType>

EmailBox

Typ vstupu uživatele EmailBox slouží k zadání pole pro zadání základního e-mailu.

EmailBox zobrazující vlastnosti zadané v typu deklarace identity

<ClaimType Id="email">
  <DisplayName>Email Address</DisplayName>
  <DataType>string</DataType>
  <UserHelpText>Email address that can be used to contact you.</UserHelpText>
  <UserInputType>EmailBox</UserInputType>
  <Restriction>
    <Pattern RegularExpression="^[a-zA-Z0-9.+!#$%&amp;'+^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&amp;'+^_`{}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$" HelpText="Please enter a valid email address." />
  </Restriction>
</ClaimType>

Heslo

Typ vstupu uživatele Heslo se používá k záznamu hesla zadaného uživatelem.

Použití typu deklarace identity s heslem

<ClaimType Id="password">
  <DisplayName>Password</DisplayName>
  <DataType>string</DataType>
  <UserHelpText>Enter password</UserHelpText>
  <UserInputType>Password</UserInputType>
</ClaimType>

DateTimeDropdown

Typ vstupu uživatele DateTimeDropdown slouží k poskytnutí sady rozevíracích seznamu pro výběr dne, měsíce a roku. K řízení minimální a maximální hodnoty data můžete použít prvky Predikáty a PredikátValidations. Další informace najdete v části Konfigurace rozsahu datv tématu Predikáty a PredikátyValidace.

Použití typu deklarace identity s datetimedropdownem

<ClaimType Id="dateOfBirth">
  <DisplayName>Date Of Birth</DisplayName>
  <DataType>date</DataType>
  <UserHelpText>The date on which you were born.</UserHelpText>
  <UserInputType>DateTimeDropdown</UserInputType>
</ClaimType>

RadioSingleSelect

Typ vstupu uživatele RadioSingleSelect slouží k poskytnutí kolekce přepínačů, která uživateli umožňuje vybrat jednu možnost.

Použití typu deklarace identity s radiodsingleselect

<ClaimType Id="color">
  <DisplayName>Preferred color</DisplayName>
  <DataType>string</DataType>
  <UserInputType>RadioSingleSelect</UserInputType>
  <Restriction>
    <Enumeration Text="Blue" Value="Blue" SelectByDefault="false" />
    <Enumeration Text="Green " Value="Green" SelectByDefault="false" />
    <Enumeration Text="Orange" Value="Orange" SelectByDefault="true" />
  </Restriction>
</ClaimType>

Typ vstupu uživatele DropdownSingleSelect slouží k zadání rozevíracího pole, které uživateli umožňuje vybrat jednu možnost.

Použití typu deklarace identity s rozevíracími seznamy

<ClaimType Id="city">
  <DisplayName>City where you work</DisplayName>
  <DataType>string</DataType>
  <UserInputType>DropdownSingleSelect</UserInputType>
  <Restriction>
    <Enumeration Text="Bellevue" Value="bellevue" SelectByDefault="false" />
    <Enumeration Text="Redmond" Value="redmond" SelectByDefault="false" />
    <Enumeration Text="New York" Value="new-york" SelectByDefault="true" />
  </Restriction>
</ClaimType>

Zaškrtávací políčkoMultiSelect

Typ vstupu uživatele CheckboxMultiSelect slouží k zadání kolekce zaškrtávacích políček, která uživateli umožní vybrat více možností.

Použití typu deklarace identity se zaškrtávacím polímultiselect

<ClaimType Id="languages">
  <DisplayName>Languages you speak</DisplayName>
  <DataType>string</DataType>
  <UserInputType>CheckboxMultiSelect</UserInputType>
  <Restriction>
    <Enumeration Text="English" Value="English" SelectByDefault="true" />
    <Enumeration Text="France " Value="France" SelectByDefault="false" />
    <Enumeration Text="Spanish" Value="Spanish" SelectByDefault="false" />
  </Restriction>
</ClaimType>

Readonly

Typ vstupu uživatele Jen pro čtení se používá k zadání pole jen pro čtení pro zobrazení deklarace identity a hodnoty.

Použití typu deklarace identity s jen pro čtení

<ClaimType Id="membershipNumber">
  <DisplayName>Membership number</DisplayName>
  <DataType>string</DataType>
  <UserHelpText>Your membership number (read only)</UserHelpText>
  <UserInputType>Readonly</UserInputType>
</ClaimType>

Odstavec

Typ vstupu uživatele Odstavec slouží k zadání pole, které zobrazuje text pouze ve značce odstavce. Například <p>text</p>. Typ vstupu OutputClaimuživatele Odstavec s vlastním technickým profilem musí nastavit Required atribut false (výchozí).

Použití typu deklarace identity s odstavcem

<ClaimType Id="responseMsg">
  <DisplayName>Error message: </DisplayName>
  <DataType>string</DataType>
  <AdminHelpText>A claim responsible for holding response messages to send to the relying party</AdminHelpText>
  <UserHelpText>A claim responsible for holding response messages to send to the relying party</UserHelpText>
  <UserInputType>Paragraph</UserInputType>
</ClaimType>