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 , 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. 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 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 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_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 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 TypeRegex, 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:

Xs ile maskelenmiş ilk altı basamakla tarayıcıda gösterilen telefon numarası talebi

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

Tarayıcıda yıldız işaretiyle maskelenmiş karakterlerle gösterilen Email talebi

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 RadioSingleSelectgibi CheckboxMultiSelectDropdownSingleSelectkullanı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:

Tarayıcıda işlenen ve varsayılan değeri gösteren açılan liste denetimi

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.+!#$%&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>

Kimlik Deneyimi Çerçevesi, e-posta adresi talebi e-posta biçimi giriş doğrulaması ile işlenir:

Regex kısıtlaması tarafından tetiklenen hata iletisini gösteren TextBox

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.

Talep türünde belirtilen özellikleri gösteren TextBox

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

Talep türünde belirtilen özellikleri gösteren EmailBox

<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 bir parolayı kaydetmek için kullanılır.

Talep türünü parolayla kullanma

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

Datetimedropdown ile talep türünü kullanma

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

Radiodsingleselect ile talep türünü kullanma

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

Dropdownsingleselect ile talep türünü kullanma

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

Onay kutusumultiselect ile talep türünü kullanma

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

Talep türünü salt okunur olarak kullanma

<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 Requiredfalse ayarlamalıdır (varsayılan).

Talep türünü paragrafla kullanma

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