ClaimsSchema
Kommentar
I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.
ClaimsSchema-elementet definierar de anspråkstyper som refereras till som en del av principen. Anspråksschemat är den plats där du deklarerar dina anspråk. Ett anspråk kan vara förnamn, efternamn, visningsnamn, telefonnummer med mera. Elementet ClaimsSchema innehåller en lista över ClaimType-element . Elementet ClaimType innehåller ID-attributet, som är anspråksnamnet.
<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
Elementet ClaimType innehåller följande attribut:
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Id | Ja | En identifierare som används för anspråkstypen. Andra element kan använda den här identifieraren i principen. |
Elementet ClaimType innehåller följande element:
Element | Händelser | beskrivning |
---|---|---|
DisplayName | 1:1 | Rubriken som visas för användare på olika skärmar. Värdet kan lokaliseras. |
DataType | 1:1 | Typ av anspråk. |
DefaultPartnerClaimTypes | 0:1 | Partnerns standardanspråkstyper som ska användas för ett angivet protokoll. Värdet kan skrivas över i PartnerClaimType som anges i elementen InputClaim eller OutputClaim. Använd det här elementet för att ange standardnamnet för ett protokoll. |
Mask | 0:1 | En valfri sträng med maskeringstecken som kan användas när anspråket visas. Telefonnumret 324-232-4343 kan till exempel maskeras som XXX-XXX-4343. |
UserHelpText | 0:1 | En beskrivning av anspråkstypen som kan vara till hjälp för användarna att förstå dess syfte. Värdet kan lokaliseras. |
UserInputType | 0:1 | Den typ av indatakontroll som ska vara tillgänglig för användaren när du manuellt anger anspråksdata för anspråkstypen. Se de användarindatatyper som definierats senare på den här sidan. |
AdminHelpText | 0:1 | En beskrivning av anspråkstypen som kan vara till hjälp för administratörer att förstå dess syfte. |
Begränsning | 0:1 | Värdebegränsningarna för det här anspråket, till exempel ett reguljärt uttryck (Regex) eller en lista med acceptabla värden. Värdet kan lokaliseras. |
PredicateValidationReference | 0:1 | En referens till ett PredicateValidationsInput-element . Med elementen PredicateValidationReference kan du utföra en valideringsprocess för att säkerställa att endast korrekt formade data anges. Mer information finns i Predikat. |
DataType
DataType-elementet stöder följande värden:
Typ | Beskrivning |
---|---|
boolean | Representerar ett booleskt (true eller false ) värde. |
datum | Representerar ett ögonblick i tiden, vanligtvis uttryckt som ett datum på en dag. Värdet för datumet följer ISO 8601-konventionen. |
dateTime | Representerar ett ögonblick i tiden, vanligtvis uttryckt som datum och tid på dagen. Värdet för datumet följer ISO 8601-konventionen under körningen och konverteras till UNIX-epoktid när det utfärdas som ett anspråk till token. |
varaktighet | Representerar ett tidsintervall i år, månader, dagar, timmar, minuter och sekunder. Formatet är PnYnMnDTnHnMnS , där P indikerar positivt eller N negativt värde. nY är antalet år följt av en literal Y . nMo är antalet månader följt av en literal Mo . nD är antalet dagar följt av en literal D . Exempel: P21Y representerar 21 år. P1Y2Mo representerar ett år och två månader. P1Y2Mo5D representerar ett år, två månader och fem dagar. P1Y2M5DT8H5M20S representerar ett år, två månader, fem dagar, åtta timmar, fem minuter och tjugo sekunder. |
phoneNumber | Representerar ett telefonnummer. |
heltal | Representerar tal mellan -2 147 483 648 och 2 147 483 647 |
lång | Representerar tal mellan -9 223 372 036 854 775 808 till 9 223 372 036 854 775 807 |
sträng | Representerar text som en sekvens med UTF-16-kodenheter. |
stringCollection | Representerar en samling med string . |
userIdentity | Representerar en användaridentitet. |
userIdentityCollection | Representerar en samling med userIdentity . |
DefaultPartnerClaimTypes
DefaultPartnerClaimTypes kan innehålla följande element:
Element | Händelser | beskrivning |
---|---|---|
Protokoll | 1:n | Lista över protokoll med standardnamnet för partneranspråkstypen. |
Protokollelementet innehåller följande attribut:
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Name | Ja | Namnet på ett giltigt protokoll som stöds av Azure AD B2C. Möjliga värden är: OAuth1, OAuth2, SAML2, OpenIdConnect. |
PartnerClaimType | Ja | Namnet på anspråkstypen som ska användas. |
I följande exempel, när Identity Experience Framework interagerar med en SAML2-identitetsprovider eller förlitande part, mappas efternamnsanspråket till http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
, med OpenIdConnect och OAuth2 mappas anspråket till 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>
Det innebär att JWT-token som utfärdats family_name
av Azure AD B2C genererar i stället för ClaimType-namnets efternamn.
{
"sub": "6fbbd70d-262b-4b50-804c-257ae1706ef2",
"auth_time": 1535013501,
"given_name": "David",
"family_name": "Williams",
"name": "David Williams",
}
Mask
Mask-elementet innehåller följande attribut:
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Type |
Ja | Typ av anspråksmask. Möjliga värden: Simple eller Regex . Värdet Simple anger att en enkel textmask tillämpas på den inledande delen av ett stränganspråk. Värdet Regex anger att ett reguljärt uttryck tillämpas på stränganspråket som helhet. Om värdet Regex anges måste ett valfritt attribut också definieras med det reguljära uttryck som ska användas. |
Regex |
Nej | Om Type är inställt på Regex anger du det reguljära uttryck som ska användas. |
I följande exempel konfigureras ett PhoneNumber-anspråk med masken Simple
. Fler exempel finns i livedemon Claim simple mask .
<ClaimType Id="PhoneNumber">
<DisplayName>Phone Number</DisplayName>
<DataType>string</DataType>
<Mask Type="Simple">XXX-XXX-</Mask>
<UserHelpText>Your telephone number.</UserHelpText>
</ClaimType>
Identity Experience Framework återger telefonnumret medan de första sex siffrorna döljs:
I följande exempel konfigureras ett AlternateEmail-anspråk med masken Regex
. Om du vill ha fler exempel kan du titta på regexmaskens livedemo.
<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>
Identity Experience Framework återger endast den första bokstaven i e-postadressen och e-postdomännamnet:
Begränsning
Begränsningselementet kan innehålla följande attribut:
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
MergeBehavior | Nej | Metoden som används för att sammanfoga uppräkningsvärden med en ClaimType i en överordnad princip med samma identifierare. Använd det här attributet när du skriver över ett anspråk som anges i basprincipen. Möjliga värden: Append , Prepend eller ReplaceAll . Värdet Append är en samling data som ska läggas till i slutet av samlingen som anges i den överordnade principen. Värdet Prepend är en samling data som ska läggas till innan samlingen som anges i den överordnade principen. Värdet ReplaceAll är en samling data som anges i den överordnade principen som ska ignoreras. |
Begränsningselementet innehåller följande element:
Element | Händelser | beskrivning |
---|---|---|
Uppräkning | 1:n | Tillgängliga alternativ i användargränssnittet för användaren att välja för ett anspråk, till exempel ett värde i en listruta. |
Mönster | 1:1 | Det reguljära uttryck som ska användas. |
Uppräkning
Uppräkningselementet definierar tillgängliga alternativ för användaren att välja för ett anspråk i användargränssnittet, till exempel ett värde i , CheckboxMultiSelect
DropdownSingleSelect
eller RadioSingleSelect
. Du kan också definiera och lokalisera tillgängliga alternativ med elementet LocalizedCollections . Om du vill söka efter ett objekt från en anspråksuppräkningssamling använder du GetMappedValueFromLocalizedCollection-anspråkstransformation.
Uppräkningselementet innehåller följande attribut:
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Text | Ja | Visningssträngen som visas för användaren i användargränssnittet för det här alternativet. |
Värde | Ja | Anspråksvärdet som är associerat med att välja det här alternativet. |
SelectByDefault | Nej | Anger om det här alternativet ska väljas som standard i användargränssnittet. Möjliga värden: Sant eller Falskt. |
I följande exempel konfigureras ett anspråk i listrutan stad med ett standardvärde inställt på New York
. Fler exempel finns i livedemon för anspråksbegränsningsuppräkning.
<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>
Listruta med ett standardvärde inställt på New York:
Mönster
Pattern-elementet kan innehålla följande attribut:
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
RegularExpression | Ja | Det reguljära uttryck som anspråk av den här typen måste matcha för att vara giltigt. |
HelpText | Nej | Ett felmeddelande för användare om kontrollen av reguljära uttryck misslyckas. |
I följande exempel konfigureras ett e-postanspråk med validering av reguljära uttrycksindata och hjälptext:
<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>
Identity Experience Framework återger e-postadressanspråket med validering av e-postformatsindata:
UserInputType
Azure AD B2C stöder en mängd olika typer av användarindata, till exempel en textruta, ett lösenord och en listruta som kan användas när du manuellt anger anspråksdata för anspråkstypen. Du måste ange UserInputType när du samlar in information från användaren med hjälp av en självkontrollerad teknisk profil och visningskontroller.
Kolla in livedemon för användarens indatatyp.
UserInputType-elementet tillgängliga typer av användarindata:
UserInputType | ClaimType som stöds | beskrivning |
---|---|---|
KryssrutaMultiVälj | string |
Listruta med flera val. Anspråksvärdet representeras i en kommaavgränsarsträng för de valda värdena. |
DateTimeDropdown | date , dateTime |
Listrutor för att välja en dag, månad och ett år. |
ListrutaVälj | string |
Listrutan Välj enstaka. Anspråksvärdet är det valda värdet. |
E-postruta | string |
Indatafält för e-post. |
Stycke | boolean , date , dateTime , duration , int , , , long string |
Ett fält som endast visar text i en stycketagg. |
Lösenord | string |
Textruta för lösenord. |
RadioSingleSelect | string |
Samling med alternativknappar. Anspråksvärdet är det valda värdet. |
Skrivskyddad | boolean , date , dateTime , duration , int , , , long string |
Skrivskyddad textruta. |
TextBox | boolean , int , , phoneNumber string |
Textruta med en rad. |
TextBox
TextBox-användarens indatatyp används för att tillhandahålla en textruta med en rad.
<ClaimType Id="displayName">
<DisplayName>Display Name</DisplayName>
<DataType>string</DataType>
<UserHelpText>Your display name.</UserHelpText>
<UserInputType>TextBox</UserInputType>
</ClaimType>
E-postruta
Indatatypen e-postbox-användare används för att tillhandahålla ett grundläggande fält för e-postinmatning.
<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>
Lösenord
Indatatypen Lösenordsanvändare används för att registrera ett lösenord som angetts av användaren.
<ClaimType Id="password">
<DisplayName>Password</DisplayName>
<DataType>string</DataType>
<UserHelpText>Enter password</UserHelpText>
<UserInputType>Password</UserInputType>
</ClaimType>
DateTimeDropdown
Indatatypen DateTimeDropdown används för att tillhandahålla en uppsättning listrutor för att välja en dag, månad och år. Du kan använda elementen Predicates och PredicateValidations för att styra lägsta och högsta datumvärden. Mer information finns i avsnittet Konfigurera ett datumintervall för predikat och predikatValidationer.
<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
Indatatypen RadioSingleSelect används för att tillhandahålla en samling alternativknappar som gör att användaren kan välja ett alternativ.
<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>
ListrutaVälj
Indatatypen DropdownSingleSelect används för att ange en listruta som gör att användaren kan välja ett alternativ.
<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>
KryssrutaMultiVälj
Indatatypen CheckboxMultiSelect används för att tillhandahålla en samling kryssrutor som gör att användaren kan välja flera alternativ.
<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>
Skrivskyddad
Indatatypen Readonly används för att ange ett skrivskyddat fält för att visa anspråket och värdet.
<ClaimType Id="membershipNumber">
<DisplayName>Membership number</DisplayName>
<DataType>string</DataType>
<UserHelpText>Your membership number (read only)</UserHelpText>
<UserInputType>Readonly</UserInputType>
</ClaimType>
Stycke
Indatatypen Styckeanvändare används för att ange ett fält som endast visar text i en stycketagg. Till exempel <p text></p>. En styckeanvändares indatatyp OutputClaim
för självsäkrad teknisk profil måste ange Required
attributet false
(standard). Den här användarinmatningstypen stöds endast i självsäkra sidlayouter. Enhetliga inloggnings- och registreringssidor (unifiedssp) kanske inte visar detta korrekt.
<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>