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:
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="(?<=.).(?=.*@)">*</Mask>
<UserInputType>Readonly</UserInputType>
</ClaimType>
Architektura prostředí identit vykreslí pouze první písmeno e-mailové adresy a názvu e-mailové domény:
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 , Prepend nebo 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
, DropdownSingleSelect
nebo 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:
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.+!#$%&'+^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+^_`{}~-]+)*@(?:[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:
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.
<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.
<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.+!#$%&'+^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+^_`{}~-]+)*@(?:[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.
<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.
<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.
<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>
Rozevírací seznamSingleSelect
Typ vstupu uživatele DropdownSingleSelect slouží k zadání rozevíracího pole, které uživateli umožňuje vybrat jednu možnost.
<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í.
<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.
<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 OutputClaim
uživatele Odstavec s vlastním technickým profilem musí nastavit Required
atribut false
(výchozí).
<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>