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 | Zorunlu | Açıklama |
---|---|---|
Kimlik | 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 | Kullanıcılara çeşitli ekranlarda görüntülenen başlık. Değer yerelleştirilebilir. |
DataType | 1:1 | Talebin türü. |
DefaultPartnerClaimTypes | 0:1 | Belirtilen bir 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. |
Maske | 0:1 | Talep görüntülenirken uygulanabilen isteğe bağlı bir maskeleme karakterleri dizesi. Örneğin, 324-232-4343 telefon numarası 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 kullanabileceği giriş denetimi türü. Bu sayfanın ilerleyen bölümlerinde 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:
Type | Açıklama |
---|---|
boolean | Boole (true veya false ) değerini temsil eder. |
tarih | Genellikle bir günün tarihi olarak ifade edilen bir anlık zamanı temsil eder. Tarihin değeri ISO 8601 kuralına uyar. |
tarih saat | Genellikle günün tarihi ve saati olarak ifade edilen bir anlık zamanı temsil eder. Tarihin değeri, çalışma zamanı sırasında ISO 8601 kuralına uyar ve belirteçte talep olarak verildiğinde UNIX dönem süresine 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 pozitif veya N negatif değer için değerini P 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 değişmez değer Mo eklenir.
nD , bir değişmez D değer ile takip edilen 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 |
uzun | -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasındaki sayıyı temsil eder |
Dize | 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ına sahip protokollerin listesi. |
Protocol öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Zorunlu | 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 ile, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
OpenIdConnect ve OAuth2 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
yayar.
{
"sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"auth_time": 1535013501,
"given_name": "David",
"family_name": "Williams",
"name": "David Williams",
}
Maske
Mask öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Zorunlu | Veri Akışı Açıklaması |
---|---|---|
Type |
Yes | Talep maskesinin türü. Olası değerler: Simple veya Regex . değeri, Simple bir dize talebin baştaki bölümüne 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 maskeyi talep et canlı tanıtımını inceleyin.
<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ına göz atın.
<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 | Zorunlu | Açıklama |
---|---|---|
MergeBehavior | Hayır | Sabit listesi 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ğeri, üst ilkede belirtilen koleksiyonun sonuna eklenmesi gereken bir veri koleksiyonudur.
Prepend değeri, üst ilkede belirtilen koleksiyondan önce eklenmesi gereken bir veri koleksiyonudur.
ReplaceAll değeri, üst ilkede belirtilen ve yoksayılması gereken bir veri koleksiyonudur. |
Restriction öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
Listeleme | 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. |
Listeleme
Numaralandırma öğesi, kullanıcı arabirimindeki bir talep için seçilebilecek kullanılabilir seçenekleri tanımlar. Örneğin, , veya RadioSingleSelect
içindeki bir CheckboxMultiSelect
DropdownSingleSelect
değer. 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 | Zorunlu | 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ına göz atın.
<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 | Zorunlu | Açıklama |
---|---|---|
RegularExpression | Yes | Geçerli olması için bu türdeki taleplerin eşleşmesi gereken normal ifade. |
Yardım Metni | 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 beyanını e-posta biçimi giriş doğrulamasıyla işler:
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. Kullanıcıdan kendi kendine onaylanan bir teknik profil ve görüntüleme denetimleri kullanarak 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 |
Bir 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. |
E-posta Kutusu | string |
E-posta giriş alanı. |
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. |
Salt okunur |
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>
E-posta Kutusu
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 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 PredicateValidations öğelerini kullanabilirsiniz. Daha fazla bilgi için Koşul ve KoşulKaridasyonları'nın Tarih 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>
Salt okunur
Readonly kullanıcı giriş türü, talebi ve değeri görüntülemek için 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 kendine onaylanan teknik profilin Paragraf kullanıcı giriş türü OutputClaim
özniteliğini Required
false
ayarlamalıdır (varsayılan). Bu kullanıcı giriş türü yalnızca kendi kendine onaylanan sayfa düzenlerinde desteklenir. Birleşik oturum açma ve kaydolma sayfaları (unifiedssp) bunu düzgün görüntüleyemeyebilir.
<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>