ClaimsSchema
Not
Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız , Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.
ClaimsSchema öğesi, ilkenin bir parçası olarak başvurulabilen talep türlerini tanımlar. Talep şeması taleplerinizi tanımladığınız yerdir. Talep ad, soyadı, görünen ad, telefon numarası ve daha fazlası olabilir. ClaimsSchema öğesi ClaimType öğelerinin listesini içerir. ClaimType öğesi, talep adı olan Id özniteliğini içerir.
<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
ClaimType öğesi aşağıdaki özniteliği içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Id | Yes | Talep türü için kullanılan tanımlayıcı. Diğer öğeler ilkede bu tanımlayıcıyı kullanabilir. |
ClaimType öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
DisplayName | 1:1 | Çeşitli ekranlarda kullanıcılara gösterilen başlık. Değer yerelleştirilebilir. |
DataType | 1:1 | Talebin türü. |
DefaultPartnerClaimTypes | 0:1 | Belirtilen protokol için kullanılacak iş ortağı varsayılan talep türleri. Değerin üzerine InputClaim veya OutputClaim öğelerinde belirtilen PartnerClaimType yazılabilir. Bir protokolün varsayılan adını belirtmek için bu öğeyi kullanın. |
Maskeleme | 0:1 | Talep görüntülenirken uygulanabilecek isteğe bağlı maskeleme karakterleri dizesi. Örneğin, 324-232-4343 numaralı telefon XXX-XXX-4343 olarak maskelenebilir. |
UserHelpText | 0:1 | Kullanıcıların amacını anlamasına yardımcı olabilecek talep türünün açıklaması. Değer yerelleştirilebilir. |
UserInputType | 0:1 | Talep türü için talep verilerini el ile girerken kullanıcının kullanımına açık olması gereken giriş denetimi türü. Bu sayfada daha sonra tanımlanan kullanıcı giriş türlerine bakın. |
AdminHelpText | 0:1 | Yöneticilerin amacını anlamasına yardımcı olabilecek talep türünün açıklaması. |
Kısıtlama | 0:1 | Bu talep için normal ifade (Regex) veya kabul edilebilir değerlerin listesi gibi değer kısıtlamaları. Değer yerelleştirilebilir. |
PredicateValidationReference | 0:1 | PredicateValidationsInput öğesine başvuru. PredicateValidationReference öğeleri, yalnızca düzgün biçimlendirilmiş verilerin girildiğinden emin olmak için bir doğrulama işlemi gerçekleştirmenizi sağlar. Daha fazla bilgi için bkz. Koşul. |
DataType
DataType öğesi aşağıdaki değerleri destekler:
Tür | Açıklama |
---|---|
boolean | Boole (true veya false ) değerini temsil eder. |
date | Genellikle günün tarihi olarak ifade edilen bir anlık zamanı temsil eder. Tarihin değeri ISO 8601 kuralını izler. |
tarih saat | Genellikle günün tarih ve saati olarak ifade edilen bir anlık zamanı temsil eder. Tarihin değeri çalışma zamanı sırasında ISO 8601 kuralını izler ve belirteçte talep olarak verildiğinde UNIX dönem zamanına dönüştürülür. |
süre | Yıl, ay, gün, saat, dakika ve saniye cinsinden zaman aralığını temsil eder. biçimi , PnYnMnDTnHnMnS burada P pozitif veya N negatif değeri gösterir. nY , yıl sayısıdır ve ardından değişmez değer Y eklenir. nMo , ay sayısıdır ve ardından sabit Mo değeri gelir. nD , bir değişmez D değer izleyen gün sayısıdır. Örnekler: P21Y 21 yılı temsil eder. P1Y2Mo bir yıl ve iki ayı temsil eder. P1Y2Mo5D bir yıl, iki ay ve beş günü temsil eder. P1Y2M5DT8H5M20S bir yıl, iki ay, beş gün, sekiz saat, beş dakika ve yirmi saniyeyi temsil eder. |
Phonenumber | Bir telefon numarasını temsil eder. |
int | -2.147.483.648 ile 2.147.483.647 arasındaki sayıyı temsil eder |
long | -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasındaki sayıyı temsil eder |
string | Metni UTF-16 kod birimleri dizisi olarak temsil eder. |
Stringcollection | bir koleksiyonunu string temsil eder. |
userIdentity | Kullanıcı kimliğini temsil eder. |
userIdentityCollection | bir koleksiyonunu userIdentity temsil eder. |
DefaultPartnerClaimTypes
DefaultPartnerClaimTypes aşağıdaki öğeyi içerebilir:
Öğe | Oluşum | Açıklama |
---|---|---|
Protokol | 1:n | Varsayılan iş ortağı talep türü adıyla protokollerin listesi. |
Protocol öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Ad | Yes | Azure AD B2C tarafından desteklenen geçerli bir protokolün adı. Olası değerler şunlardır: OAuth1, OAuth2, SAML2, OpenIdConnect. |
PartnerClaimType | Yes | Kullanılacak talep türü adı. |
Aşağıdaki örnekte, Kimlik Deneyimi Çerçevesi bir SAML2 kimlik sağlayıcısı veya bağlı olan taraf uygulamasıyla etkileşime geçtiğinde , soyadı talebi http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
, OpenIdConnect ve OAuth2 ile ile eşlenir, talep ile family_name
eşlenir.
<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>
Sonuç olarak, Azure AD B2C tarafından verilen JWT belirteci, ClaimType adı soyadı yerine öğesini family_name
gösterir.
{
"sub": "6fbbd70d-262b-4b50-804c-257ae1706ef2",
"auth_time": 1535013501,
"given_name": "David",
"family_name": "Williams",
"name": "David Williams",
}
Maskeleme
Mask öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Type |
Evet | Talep maskesinin türü. Olası değerler: Simple veya Regex . değeri, Simple bir dize talebin başında basit bir metin maskesinin uygulandığını gösterir. değeri, Regex dize talebine bir normal ifadenin bütün olarak uygulandığını gösterir. Regex Değer belirtilirse, kullanılacak normal ifadeyle isteğe bağlı bir öznitelik de tanımlanmalıdır. |
Regex |
Hayır | olarak ayarlanırsa Type Regex , kullanılacak normal ifadeyi belirtin. |
Aşağıdaki örnekte maskeyle bir PhoneNumber talebi yapılandırılır Simple
. Daha fazla örnek için Basit maske talep et canlı tanıtımını gözden geçirin.
<ClaimType Id="PhoneNumber">
<DisplayName>Phone Number</DisplayName>
<DataType>string</DataType>
<Mask Type="Simple">XXX-XXX-</Mask>
<UserHelpText>Your telephone number.</UserHelpText>
</ClaimType>
Kimlik Deneyimi Çerçevesi, ilk altı basamak gizlenirken telefon numarasını işler:
Aşağıdaki örnekte, maskeyle bir AlternateEmail talebi yapılandırılır Regex
. Daha fazla örnek için Regex maskesi canlı tanıtımını inceleyin.
<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>
Kimlik Deneyimi Çerçevesi, e-posta adresinin yalnızca ilk harfini ve e-posta etki alanı adını işler:
Kısıtlama
Restriction öğesi aşağıdaki özniteliği içerebilir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
MergeBehavior | Hayır | Numaralandırma değerlerini aynı tanımlayıcıya sahip üst ilkedeki bir ClaimType ile birleştirmek için kullanılan yöntem. Temel ilkede belirtilen bir talebin üzerine yazdığınızda bu özniteliği kullanın. Olası değerler: Append , Prepend , veya ReplaceAll . Append değer, üst ilkede belirtilen koleksiyonun sonuna eklenmesi gereken bir veri koleksiyonudur. Prepend değer, üst ilkede belirtilen koleksiyondan önce eklenmesi gereken bir veri koleksiyonudur. ReplaceAll değer, üst ilkede belirtilen ve yoksayılması gereken bir veri koleksiyonudur. |
Restriction öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
Sabit Listesi | 1:n | Kullanıcının talep için seçmesi için kullanıcı arabirimindeki kullanılabilir seçenekler (açılan listede bir değer gibi). |
Desen | 1:1 | Kullanılacak normal ifade. |
Sabit Listesi
Numaralandırma öğesi, kullanıcı arabirimindeki bir talep için seçilebilecek , veya RadioSingleSelect
gibi CheckboxMultiSelect
DropdownSingleSelect
kullanılabilir seçenekleri tanımlar. Alternatif olarak, LocalizedCollections öğesiyle kullanılabilir seçenekleri tanımlayabilir ve yerelleştirebilirsiniz. Bir talep Numaralandırma koleksiyonundan öğe aramak için GetMappedValueFromLocalizedCollection talep dönüştürmesini kullanın.
Numaralandırma öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
Metin | Yes | Bu seçenek için kullanıcı arabiriminde kullanıcıya gösterilen görüntüleme dizesi. |
Değer | Yes | Bu seçeneğin seçilmesiyle ilişkili talep değeri. |
SelectByDefault | Hayır | Bu seçeneğin kullanıcı arabiriminde varsayılan olarak belirlenip belirlenmeyeceğini gösterir. Olası değerler: True veya False. |
Aşağıdaki örnekte, varsayılan değeri olarak ayarlanmış bir şehir açılan listesi talebi yapılandırılır New York
. Daha fazla örnek için Talep kısıtlama numaralandırması canlı tanıtımını gözden geçirin.
<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>
Varsayılan değeri New York olarak ayarlanmış açılan şehir listesi:
Desen
Pattern öğesi aşağıdaki öznitelikleri içerebilir:
Öznitelik | Gerekli | Açıklama |
---|---|---|
RegularExpression | Yes | Bu tür taleplerin geçerli olması için eşleşmesi gereken normal ifade. |
Helptext | Hayır | Normal ifade denetimi başarısız olursa kullanıcılar için bir hata iletisi. |
Aşağıdaki örnekte, normal ifade girişi doğrulaması ve yardım metniyle bir e-posta talebi yapılandırılır:
<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>
Kimlik Deneyimi Çerçevesi, e-posta adresi talebi e-posta biçimi giriş doğrulaması ile işlenir:
UserInputType
Azure AD B2C, talep türü için talep verilerini el ile girerken kullanılabilecek metin kutusu, parola ve açılan liste gibi çeşitli kullanıcı giriş türlerini destekler. Kendinden onaylanan bir teknik profil ve görüntüleme denetimleri kullanarak kullanıcıdan bilgi toplarken UserInputType değerini belirtmeniz gerekir.
Kullanıcı giriş türünün Canlı tanıtımını gözden geçirin.
UserInputType öğesi kullanılabilir kullanıcı giriş türleri:
UserInputType | Desteklenen ClaimType | Açıklama |
---|---|---|
Onay KutusuMultiSelect | string |
Çoklu seçim açılan kutusu. Talep değeri, seçilen değerlerin virgül sınırlayıcı dizesinde temsil edilir. |
DateTimeDropdown | date , dateTime |
Gün, ay ve yıl seçmek için açılan menüler. |
DropdownSingleSelect | string |
Tek seçim açılan kutusu. Talep değeri seçili değerdir. |
EmailBox | string |
giriş alanını Email. |
Paragraf | boolean , date , dateTime , duration , int , long , string |
Yalnızca paragraf etiketinde metin gösteren alan. |
Parola | string |
Parola metin kutusu. |
RadioSingleSelect | string |
Radyo düğmeleri koleksiyonu. Talep değeri seçili değerdir. |
Readonly | boolean , date , dateTime , duration , int , long , string |
Salt okunur metin kutusu. |
TextBox | boolean , int , phoneNumber , string |
Tek satırlı metin kutusu. |
TextBox
TextBox kullanıcı giriş türü, tek satırlı bir metin kutusu sağlamak için kullanılır.
<ClaimType Id="displayName">
<DisplayName>Display Name</DisplayName>
<DataType>string</DataType>
<UserHelpText>Your display name.</UserHelpText>
<UserInputType>TextBox</UserInputType>
</ClaimType>
EmailBox
EmailBox kullanıcı giriş türü, temel bir e-posta giriş alanı sağlamak için kullanılır.
<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>
Parola
Parola kullanıcı giriş türü, kullanıcı tarafından girilen bir parolayı kaydetmek için kullanılır.
<ClaimType Id="password">
<DisplayName>Password</DisplayName>
<DataType>string</DataType>
<UserHelpText>Enter password</UserHelpText>
<UserInputType>Password</UserInputType>
</ClaimType>
DateTimeDropdown
DateTimeDropdown kullanıcı giriş türü, bir gün, ay ve yıl seçmek üzere bir dizi açılan menü sağlamak için kullanılır. En düşük ve en yüksek tarih değerlerini denetlemek için Koşul ve KoşulKaridasyonları öğelerini kullanabilirsiniz. Daha fazla bilgi için Koşullar ve KoşulKaridasyonları'nınTarih aralığı yapılandırma bölümüne bakın.
<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
RadioSingleSelect kullanıcı giriş türü, kullanıcının bir seçenek belirlemesine olanak tanıyan bir radyo düğmeleri koleksiyonu sağlamak için kullanılır.
<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>
DropdownSingleSelect
DropdownSingleSelect kullanıcı giriş türü, kullanıcının bir seçenek belirlemesine olanak tanıyan bir açılan kutu sağlamak için kullanılır.
<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>
Onay KutusuMultiSelect
CheckboxMultiSelect kullanıcı giriş türü, kullanıcının birden çok seçenek belirlemesine olanak tanıyan bir onay kutuları koleksiyonu sağlamak için kullanılır.
<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
Readonly kullanıcı giriş türü, talebi ve değeri görüntülemek üzere salt okunur bir alan sağlamak için kullanılır.
<ClaimType Id="membershipNumber">
<DisplayName>Membership number</DisplayName>
<DataType>string</DataType>
<UserHelpText>Your membership number (read only)</UserHelpText>
<UserInputType>Readonly</UserInputType>
</ClaimType>
Paragraf
Paragraf kullanıcı giriş türü, yalnızca paragraf etiketinde metin gösteren bir alan sağlamak için kullanılır. Örneğin, <p>text</p>. Kendi kendini onaylanan teknik profilin Paragraf kullanıcısı giriş türü OutputClaim
özniteliğini Required
false
ayarlamalıdır (varsayılan).
<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>