Sdílet prostřednictvím


ClaimsSchema

Poznámka:

V Azure Active Directory B2C jsou vlastní zásady navržené především pro řešení složitých scénářů. Ve většině scénářů doporučujeme používat integrované 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 ve službě 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 křestní 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>

ClaimType

Element ClaimType obsahuje následující atribut:

Atribut Požadováno Popis
Id Ano Identifikátor, který se používá pro typ deklarace identity. Ostatní prvky můžou tento identifikátor použít v zásadách.

Element ClaimType obsahuje následující prvky:

Element (Prvek) Výskyty Popis
DisplayName 1:1 Název, který se zobrazí 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 mají použít pro zadaný protokol. Hodnotu lze přepsat v PartnerClaimType zadaných v elementech InputClaim nebo OutputClaim . Tento element použijte k určení výchozího názvu protokolu.
Maska 0:1 Volitelný řetězec maskování znaků, 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 pochopili jeho účel. Hodnotu lze lokalizovat.
UserInputType 0:1 Typ vstupního ovládacího prvku, který by měl být uživateli k dispozici 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 pochopili jeho účel.
Omezení 0:1 Omezení hodnoty pro tuto deklaraci identity, například regulární výraz (Regex) nebo seznam přijatelných hodnot. Hodnotu lze lokalizovat.
PredikátValidationReference 0:1 Odkaz na predikateValidationsInput element. Elementy PredicateValidationReference umožňují provést proces ověření, aby bylo zajištěno, že jsou zadána pouze správně vytvořená data. Další informace naleznete v tématu Predikáty.

DataType

Element DataType podporuje následující hodnoty:

Typ Popis
boolean Představuje logickou (true nebo false) hodnotu.
datum Představuje okamžik v čase, obvykle vyjádřený jako datum dne. Hodnota data se řídí konvencí ISO 8601.
data a času. Představuje okamžik v čase, obvykle vyjádřený jako datum a čas dne. Hodnota data se řídí konvencí ISO 8601 během běhu a při vydání jako deklarace identity do tokenu se převede na epochu 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 kladné nebo N záporné hodnoty. nY je počet let následovaný literálem Y. nMo je počet měsíců následovaných literálem Mo. nD je počet dnů následovaných 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
string Představuje text jako posloupnost 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í prvek:

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 Požadováno Popis
Name Ano Název platného protokolu podporovaného službou Azure AD B2C. Možné hodnoty jsou: OAuth1, OAuth2, SAML2, OpenIdConnect.
PartnerClaimType Ano Název typu deklarace identity, který se má použít.

V následujícím příkladu, když rozhraní Identity Experience Framework komunikuje s zprostředkovatelem identity SAML2 nebo aplikací předávající strany, je deklarace příjmení namapována 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ý službou Azure AD B2C vygeneruje family_name místo příjmení Název ClaimType.

{
  "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 Požadováno Popis
Type Ano Typ masky deklarace identity. Možné hodnoty: Simple nebo Regex. Hodnota Simple označuje, že jednoduchá textová maska se použije na úvodní část deklarace řetězce. Hodnota Regex označuje, že regulární výraz se použije na deklaraci řetězce jako celek. Regex Pokud je hodnota zadaná, musí být také definován volitelný atribut s regulárním výrazem, který se má použít.
Regex No Pokud Type je nastavena na Regexhodnotu , 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 masky deklarace identity.

<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:

Žádost o telefonní číslo zobrazená v prohlížeči s prvními šesti číslicemi maskovanými Xs

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

<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ázev e-mailové domény:

Deklarace identity e-mailu zobrazená v prohlížeči s znaky maskovanými hvězdičkami

Omezení

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

Atribut Požadováno Popis
MergeBehavior No 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í zásadě. 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 určenou v nadřazené zásadě. Hodnota ReplaceAll je kolekce dat zadaných v nadřazené zásadě, která by se měla ignorovat.

Element Restriction obsahuje následující prvky:

Element (Prvek) Výskyty Popis
Výčet 1:n Dostupné možnosti v uživatelském rozhraní, které má uživatel 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 Výčtu definuje dostupné možnosti pro uživatele vybrat pro deklaraci identity v uživatelském rozhraní, například hodnotu v CheckboxMultiSelectDropdownSingleSelect, nebo RadioSingleSelect. Alternativně můžete definovat a lokalizovat dostupné možnosti pomocí elementu LocalizedCollections . Chcete-li vyhledat položku z kolekce výčtu deklarací, použijte GetMappedValueFromLocalizedCollection deklarace identity transformace.

Element Výčtu obsahuje následující atributy:

Atribut Požadováno Popis
Text Ano Zobrazovaný řetězec, který se uživateli zobrazí 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 No Určuje, zda má být tato možnost ve výchozím nastavení vybrána v uživatelském rozhraní. Možné hodnoty: Pravda nebo Nepravda.

Následující příklad nakonfiguruje deklaraci rozevíracího seznamu měst s výchozí hodnotou nastavenou na New York. Další ukázky najdete v živé ukázce 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 Požadováno Popis
RegularExpression Ano Regulární výraz, který deklarace identity tohoto typu musí odpovídat, aby byly platné.
Text nápovědy No Pokud kontrola regulárního výrazu selže, zobrazí se uživatelům chybová zpráva.

Následující příklad nakonfiguruje deklaraci identity e-mailu 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ěřováním vstupu ve formátu e-mailu:

TextBox zobrazující chybovou zprávu aktivovanou omezením regulárních výrazů

UserInputType

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

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

Dostupné typy vstupu uživatele elementu UserInputType :

UserInputType Podporovaný typ deklarace identity Popis
CheckboxMultiSelect 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í nabídky 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 Pole pro zadání e-mailu
Odstavec boolean, date, dateTime, duration, int, , longstring Pole, které zobrazuje text pouze ve značce odstavce.
Heslo string Textové pole s heslem
RadioSingleSelect string Kolekce přepínačů. Hodnota deklarace identity je vybraná hodnota.
Jen pro čtení boolean, date, dateTime, duration, int, , longstring Textové pole jen pro čtení
TextBox boolean, int, , phoneNumberstring Jednořádkové textové pole

TextBox

Typ zadání uživatele TextBox slouží k zadání textového pole s jedním řádkem.

TextBox 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 zadání uživatele EmailBox slouží k zadání základního pole pro zadání 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 zadání hesla uživatele se používá k zaznamenání 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 zadání sady rozevíracích nabídek k výběru dne, měsíce a roku. Prvky predikátů a predikátůValidations můžete použít k řízení minimálních a maximálních hodnot kalendářních dat. Další informace naleznete v části Konfigurace rozsahu kalendářních dat predikátů a predikátůValidations.

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 přepínačem 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 seznamu, které uživateli umožňuje vybrat jednu možnost.

Použití typu deklarace identity s rozevíracím seznamem

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

CheckboxMultiSelect

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

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

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

Jen pro čtení

Typ vstupu uživatele Readonly slouží k zadání pole jen pro čtení pro zobrazení deklarace identity a hodnoty.

Použití typu deklarace identity s oprávněním 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 OutputClaim zadání uživatele odstavce technického profilu s vlastním kontrolním výrazem musí nastavit Required atribut false (výchozí). Tento typ vstupu uživatele je podporován pouze v rozloženích stránek s vlastním kontrolním výrazem. Jednotné přihlašovací a registrační stránky (unifiedssp) se nemusí správně zobrazovat.

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>