ClaimsSchema
Anteckning
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 | Krävs | 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 | Anspråkets typ. |
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 anspråksdata för anspråkstypen anges manuellt. 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 över godkända värden. Värdet kan lokaliseras. |
PredicateValidationReference | 0:1 | En referens till elementet PredicateValidationsInput . 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 för en dag. Värdet för datumet följer ISO 8601-konventionen. |
Datetime | Representerar ett ögonblick i tiden, vanligtvis uttryckt som ett datum och en 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. |
int | Representerar tal mellan -2 147 483 648 och 2 147 483 647 |
long | 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 av 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 deras standardnamn för partneranspråkstyp. |
Elementet Protocol innehåller följande attribut:
Attribut | Krävs | 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 | Anspråkstypnamnet 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 av Azure AD B2C genererar family_name
namnet i stället för namnet ClaimType.
{
"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 | Krävs | 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 även ett valfritt attribut 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 (Anspråks enkel 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
. Fler exempel finns i 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 | Krävs | Beskrivning |
---|---|---|
MergeBehavior | Nej | Den metod 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 före den samling som anges i den överordnade principen. Värdet ReplaceAll är en samling data som anges i den överordnade principen som ska ignoreras. |
Elementet Restriction innehåller följande element:
Element | Händelser | Beskrivning |
---|---|---|
Uppräkning | 1:n | De tillgängliga alternativen 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 som användaren kan 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 anspråkstransformeringen GetMappedValueFromLocalizedCollection .
Uppräkningselementet innehåller följande attribut:
Attribut | Krävs | 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 liveuppräkning av anspråksbegränsning.
<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 | Krävs | Beskrivning |
---|---|---|
RegularExpression | Ja | Det reguljära uttryck som anspråk av den här typen måste matcha för att vara giltigt. |
Hjälptext | 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-postformatets indata:
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.
Ta en titt på 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 med de valda värdena. |
DateTimeDropdown | date , dateTime |
Listrutor för att välja en dag, månad och år. |
ListrutaVälj | string |
Listrutan Välj enstaka. Anspråksvärdet är det valda värdet. |
E-postruta | string |
Email indatafält. |
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 alternativknappar. Anspråksvärdet är det valda värdet. |
Readonly | 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
E-postbox-användarens indatatyp används för att ange 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ändare 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 kontrollera lägsta och högsta datumvärden. Mer information finns i avsnittet Konfigurera ett datumintervall i 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 tillhandahålla en listruta där 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>
Readonly
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 en självkontrollerad teknisk profil måste ange Required
attributet false
(standard).
<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>