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": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"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 Regex hodnotu , 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:
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="(?<=.).(?=.*@)">*</Mask>
<UserInputType>Readonly</UserInputType>
</ClaimType>
Architektura prostředí identit vykreslí pouze první písmeno e-mailové adresy a název e-mailové domény:
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 , 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 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 CheckboxMultiSelect
DropdownSingleSelect
, 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:
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.+!#$%&'+^_`{}~-]+(?:\.[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ěřováním vstupu ve formátu e-mailu:
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 , , long string |
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 , , long string |
Textové pole jen pro čtení |
TextBox | boolean , int , , phoneNumber string |
Jednořádkové textové pole |
TextBox
Typ zadání uživatele TextBox slouží k zadání textového pole s jedním řádkem.
<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.
<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 zadání hesla uživatele se používá k zaznamenání 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 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.
<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 seznamu, 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>
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í.
<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.
<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.
<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>