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 ilkelerle Kullanmaya başlayın ö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 Description
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 kullanabileceği 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 Description
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 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 , PnYnMnDTnHnMnSburada P pozitif veya N negatif değeri gösterir. nY , yıl sayısıdır ve ardından değişmez değer Yeklenir. nMo , ay sayısıdır ve ardından sabit Modeğeri gelir. nD , bir değişmez Ddeğ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. P1Y2M5DT8H5M620S 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 stringtemsil eder.
userIdentity Kullanıcı kimliğini temsil eder.
userIdentityCollection bir koleksiyonunu userIdentitytemsil eder.

DefaultPartnerClaimTypes

DefaultPartnerClaimTypes aşağıdaki öğeyi içerebilir:

Öğe Oluşum Description
Protokol 1:n Varsayılan iş ortağı talep türü adına sahip 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_nameeş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": "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ştaki bölümüne basit bir metin maskesinin uygulandığını gösterir. değeri, Regex bir normal ifadenin dize talebine bütün olarak uygulandığını gösterir. Regex Değer belirtilirse, isteğe bağlı bir öznitelik de kullanılacak normal ifadeyle tanımlanmalıdır.
Regex No olarak ayarlanırsa TypeRegex, kullanılacak normal ifadeyi belirtin.

Aşağıdaki örnekte maske ile bir PhoneNumber talebi yapılandırılır Simple . Daha fazla örnek için Basit maske talep et canlı tanıtımına göz atın.

<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ı basamağı gizlerken telefon numarasını işler:

Phone number claim shown in browser with first six digits masked by Xs

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="(?&lt;=.).(?=.*@)">*</Mask>
  <UserInputType>Readonly</UserInputType>
</ClaimType>

Kimlik Deneyimi Çerçevesi yalnızca e-posta adresinin ilk harfini ve e-posta etki alanı adını işler:

Email claim shown in browser with characters masked by asterisks

Kısıtlama

Restriction öğesi aşağıdaki özniteliği içerebilir:

Öznitelik Gerekli Açıklama
MergeBehavior No 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, Prependveya 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 Description
Sabit Listesi 1:n Kullanıcının talep için seçmesi için kullanıcı arabiriminde sağlanan seçenekler (açılan listede yer alan 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 RadioSingleSelectgibi CheckboxMultiSelectDropdownSingleSelectkullanılabilir seçenekleri tanımlar. Alternatif olarak, LocalizedCollections öğesiyle kullanılabilir seçenekleri tanımlayabilir ve yerelleştirebilirsiniz. Bir talep Sabit Listesi 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 No Bu seçeneğin kullanıcı arabiriminde varsayılan olarak belirlenip belirlenmeyeceğini gösterir. Olası değerler: True veya False.

Aşağıdaki örnek, varsayılan değeri olarak ayarlanmış New Yorkbir şehir açılan listesi talebi yapılandırmaktadır. 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:

Dropdown control rendered in browser and showing default value

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 No 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.+!#$%&amp;'^_`{}~-]+@[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:

TextBox showing error message triggered by regex restriction

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 Description
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çilen 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çilen değerdir.
Readonly boolean, date, dateTime, duration, int, long, string Salt okunur metin kutusu.
TextBox boolean, int, 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.

TextBox showing properties specified in claim type

<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.

EmailBox showing properties specified in claim type

<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.+!#$%&amp;'+^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&amp;'+^_`{}~-]+)*@(?:[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.

Using claim type with password

<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şul ve KoşulKaridasyonları'nınTarih aralığı yapılandırma bölümüne bakın.

Using claim type with datetimedropdown

<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.

Using claim type with radiodsingleselect

<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 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.

Using claim type with dropdownsingleselect

<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.

Using claim type with checkboxmultiselect

<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.

Using claim type with readonly

<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, <ptext></p>. Kendi kendini onaylanan teknik profilin Paragraf kullanıcı giriş türü OutputClaim özniteliğini Requiredfalse ayarlamalıdır (varsayılan).

Using claim type with paragraph

<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>