ContentDefinitions

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.

Kendi kendine onaylanan herhangi bir teknik profilin genel görünümünü özelleştirebilirsiniz. Azure Active Directory B2C (Azure AD B2C), müşterinizin tarayıcısında kod çalıştırır ve Çıkış Noktaları Arası Kaynak Paylaşımı (CORS) adlı modern bir yaklaşım kullanır.

Kullanıcı arabirimini özelleştirmek için ContentDefinition öğesinde özelleştirilmiş HTML içeriğine sahip bir URL belirtirsiniz. Kendi kendini onaylayan teknik profilde veya OrchestrationStep'te bu içerik tanımı tanımlayıcısına işaret edersiniz. İçerik tanımı, yüklenmek üzere yerelleştirilmiş kaynakların listesini belirten bir LocalizedResourcesReferences öğesi içerebilir. Azure AD B2C, kullanıcı arabirimi öğelerini URL'nizden yüklenen HTML içeriğiyle birleştirir ve sayfayı kullanıcıya görüntüler.

ContentDefinitions öğesi, bir kullanıcı yolculuğunda kullanılabilecek HTML5 şablonlarının URL'lerini içerir. Belirtilen kullanıcı arabirimi adımı için HTML5 sayfa URI'si kullanılır. Örneğin, oturum açma veya kaydolma, parola sıfırlama veya hata sayfaları. HTML5 dosyasının LoadUri'sini geçersiz kılarak görünüm ve hissi değiştirebilirsiniz. gereksinimlerinize göre yeni içerik tanımları oluşturabilirsiniz. Bu öğe, Localization öğesinde belirtilen yerelleştirme tanımlayıcısına yerelleştirilmiş bir kaynak başvurusu içerebilir.

Aşağıdaki örnekte içerik tanımı tanımlayıcısı ve yerelleştirilmiş kaynakların tanımı gösterilmektedir:

<ContentDefinition Id="api.localaccountsignup">
  <LoadUri>~/tenant/default/selfAsserted.cshtml</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0</DataUri>
  <Metadata>
    <Item Key="DisplayName">Local account sign up page</Item>
  </Metadata>
  <LocalizedResourcesReferences MergeBehavior="Prepend">
    <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.localaccountsignup.en" />
    <LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.localaccountsignup.es" />
    ...

LocalAccountSignUpWithLogonEmail kendi kendini onaylayan teknik profilin meta verileri ContentDefinitionReferenceId olarak ayarlanmış içerik tanımı tanımlayıcısını içerirapi.localaccountsignup

<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
  <DisplayName>Email signup</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item>
    ...
  </Metadata>
  ...

Contentdefinition

ContentDefinition öğesi aşağıdaki özniteliği içerir:

Öznitelik Gerekli Açıklama
Id Yes İçerik tanımının tanımlayıcısı. Değer, bu sayfanın devamında İçerik tanımı kimlikleri bölümünde belirtilen değerdir.

ContentDefinition öğesi aşağıdaki öğeleri içerir:

Öğe Oluşum Description
LoadUri 1:1 İçerik tanımı için HTML5 sayfasının URL'sini içeren dize.
RecoveryUri 1:1 İçerik tanımıyla ilgili bir hata görüntülemek için HTML sayfasının URL'sini içeren dize. Şu anda kullanılmıyor, değeri olmalıdır ~/common/default_page_error.html.
DataUri 1:1 Adım için çağrılacak kullanıcı deneyimini sağlayan bir HTML dosyasının göreli URL'sini içeren dize.
Meta veri 0:1 İçerik tanımı tarafından kullanılan meta verileri içeren anahtar/değer çiftleri koleksiyonu.
LocalizedResourcesReferences 0:1 Yerelleştirilmiş kaynak başvurularından oluşan bir koleksiyon. Kullanıcı arabirimi ve talep özniteliğinin yerelleştirmesini özelleştirmek için bu öğeyi kullanın.

LoadUri

LoadUri öğesi, içerik tanımı için HTML5 sayfasının URL'sini belirtmek için kullanılır. Azure AD B2C özel ilke başlangıç paketleri, Azure AD B2C HTML sayfalarını kullanan içerik tanımlarıyla birlikte gelir. LoadUri, Azure AD B2C kiracınızın göreli yolu olan ile ~başlar.

<ContentDefinition Id="api.signuporsignin">
  <LoadUri>~/tenant/templates/AzureBlue/unified.cshtml</LoadUri>
  ...
</ContentDefinition>

Kullanıcı arabirimini HTML şablonlarıyla özelleştirebilirsiniz. HTML şablonlarını kullanırken mutlak bir URL sağlayın. Aşağıdaki örnekte HTML şablonu içeren bir içerik tanımı gösterilmektedir:

<ContentDefinition Id="api.signuporsignin">
  <LoadUri>https://your-storage-account.blob.core.windows.net/your-container/customize-ui.html</LoadUri>
  ...
</ContentDefinition>

DataUri

DataUri öğesi, sayfa tanımlayıcısını belirtmek için kullanılır. Azure AD B2C, kullanıcı arabirimi öğelerini ve istemci tarafı JavaScript'i yüklemek ve başlatmak için sayfa tanımlayıcısını kullanır. Değerin biçimi şeklindedir urn:com:microsoft:aad:b2c:elements:page-name:version. Aşağıdaki tabloda, kullanabileceğiniz sayfa tanımlayıcıları listelemektedir.

Sayfa tanımlayıcısı Description
globalexception Bir özel durum veya hatayla karşılaşıldığında bir hata sayfası görüntüler.
providerselection, idpselection Kullanıcıların oturum açma sırasında aralarından seçim yapabilecekleri kimlik sağlayıcılarını listeler.
unifiedssp E-posta adresini veya kullanıcı adını temel alan yerel bir hesapla oturum açmak için bir form görüntüler. Bu değer ayrıca "oturum açmama izin ver" ve "Parolanızı mı unuttunuz?" bağlantısı sağlar.
unifiedssd E-posta adresini veya kullanıcı adını temel alan yerel bir hesapla oturum açmak için bir form görüntüler. Bu sayfa tanımlayıcısı kullanım dışı bırakıldı. Bunun yerine sayfa tanımlayıcısını unifiedssp kullanın.
multifactor Kaydolma veya oturum açma sırasında metin veya ses kullanarak telefon numaralarını doğrular.
selfasserted Kullanıcıdan veri toplamak için bir form görüntüler. Örneğin, kullanıcıların profillerini oluşturmasına veya güncelleştirmesine olanak tanır.

Sayfa düzeni seçme

Ve sayfa türü arasına elements ekleyerek contractJavaScript istemci tarafı kodunu etkinleştirebilirsiniz. Örneğin, urn:com:microsoft:aad:b2c:elements:contract:page-name:version.

sürümDataUri bölümü, ilkenizdeki kullanıcı arabirimi öğeleri için HTML, CSS ve JavaScript içeren içerik paketini belirtir. JavaScript istemci tarafı kodunu etkinleştirmeyi planlıyorsanız, JavaScript'inizi temel alan öğeler sabit olmalıdır. Bunlar sabit değilse, değişiklikler kullanıcı sayfalarınızda beklenmeyen davranışlara neden olabilir. Bu sorunları önlemek için, sayfa düzeni kullanımını zorunlu kılın ve bir sayfa düzeni sürümü belirtin. Bunun yapılması, JavaScript'inizi temel alan tüm içerik tanımlarının sabit olmasını sağlar. JavaScript'i etkinleştirmeyi düşünmüyor olsanız bile, yine de sayfalarınız için sayfa düzeni sürümünü belirtmeniz gerekir.

Aşağıdaki örnek, sürümünün 1.2.0DataUri'siniselfasserted gösterir:

<!-- 
<BuildingBlocks> 
  <ContentDefinitions>-->
    <ContentDefinition Id="api.localaccountpasswordreset">
      <LoadUri>~/tenant/templates/AzureBlue/selfAsserted.cshtml</LoadUri>
      <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.2.0</DataUri>
      <Metadata>
        <Item Key="DisplayName">Local account change password page</Item>
      </Metadata>
    </ContentDefinition>
  <!-- 
  </ContentDefinitions> 
</BuildingBlocks> -->

Sayfa düzenine geçiş

Eski DataUri değerinden (sayfa sözleşmesi olmadan) sayfa düzeni sürümüne geçmek için, bir sayfa sürümüyle takip edilen sözcüğü contract ekleyin. Eski DataUri değerinden sayfa düzeni sürümüne geçmek için aşağıdaki tabloyu kullanın.

Eski DataUri değeri Yeni DataUri değeri
urn:com:microsoft:aad:b2c:elements:globalexception:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.1
urn:com:microsoft:aad:b2c:elements:globalexception:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.1
urn:com:microsoft:aad:b2c:elements:idpselection:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.1
urn:com:microsoft:aad:b2c:elements:selfasserted:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.7
urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.7
urn:com:microsoft:aad:b2c:elements:unifiedssd:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:unifiedssd:1.2.1
urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.5
urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.5
urn:com:microsoft:aad:b2c:elements:multifactor:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.5
urn:com:microsoft:aad:b2c:elements:multifactor:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.5

Aşağıdaki örnek, içerik tanımı tanımlayıcılarını ve en son sayfa sürümüne sahip ilgili DataUri'yi gösterir:

<!-- 
<BuildingBlocks> -->
  <ContentDefinitions>
    <ContentDefinition Id="api.error">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.1</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.idpselections">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.1</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.idpselections.signup">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.1</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.signuporsignin">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.7</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.selfasserted">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.selfasserted.profileupdate">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.localaccountsignup">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.localaccountpasswordreset">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.phonefactor">
      <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.5</DataUri>
    </ContentDefinition>
  </ContentDefinitions>
<!-- 
</BuildingBlocks> -->

Meta veri

Metadata öğesi aşağıdaki öğeleri içerir:

Öğe Oluşum Description
Öğe 0:n İçerik tanımıyla ilgili meta veriler.

Metadata öğesinin Item öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Gerekli Açıklama
Anahtar Yes Meta veri anahtarı.

Meta veri anahtarları

İçerik tanımı aşağıdaki meta veri öğelerini destekler:

Anahtar Gerekli Açıklama
DisplayName No İçerik tanımının adını içeren dize.

LocalizedResourcesReferences

LocalizedResourcesReferences öğesi aşağıdaki öğeleri içerir:

Öğe Oluşum Description
LocalizedResourcesReference 1:n İçerik tanımı için yerelleştirilmiş kaynak başvurularının listesi.

LocalizedResourcesReference öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Gerekli Açıklama
Dil Yes RFC 5646 başına ilke için desteklenen bir dil içeren dize - Dilleri Tanımlama Etiketleri.
LocalizedResourcesReferenceId Yes LocalizedResources öğesinin tanımlayıcısı.

Aşağıdaki örnekte İngilizce, Fransızca ve İspanyolca için yerelleştirmeye başvuru içeren bir kaydolma veya oturum açma içerik tanımı gösterilmektedir:

<ContentDefinition Id="api.signuporsignin">
  <LoadUri>~/tenant/default/unified.cshtml</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0</DataUri>
  <Metadata>
    <Item Key="DisplayName">Signin and Signup</Item>
  </Metadata>
  <LocalizedResourcesReferences MergeBehavior="Prepend">
    <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.signuporsignin.en" />
    <LocalizedResourcesReference Language="fr" LocalizedResourcesReferenceId="api.signuporsignin.rf" />
    <LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.signuporsignin.es" />
</LocalizedResourcesReferences>
</ContentDefinition>

İçerik tanımlarınıza yerelleştirme desteği eklemeyi öğrenmek için bkz. Yerelleştirme.

İçerik tanımı kimlikleri

ContentDefinition öğesinin ID özniteliği, içerik tanımıyla ilişkili sayfanın türünü belirtir. öğesi, özel bir HTML5/CSS şablonunun uygulanacağı bağlamı tanımlar. Aşağıdaki tabloda, Kimlik Deneyimi Çerçevesi tarafından tanınan içerik tanımı kimlikleri kümesi ve bunlarla ilişkili sayfa türleri açıklanmaktadır. Rastgele bir kimlikle kendi içerik tanımlarınızı oluşturabilirsiniz.

ID Varsayılan şablon Description
api.error exception.cshtml Hata sayfası - Bir özel durum veya hatayla karşılaşıldığında bir hata sayfası görüntüler.
api.idpselections idpSelector.cshtml Kimlik sağlayıcısı seçim sayfası - Kullanıcıların oturum açma sırasında aralarından seçim yapabilecekleri kimlik sağlayıcılarını listeler. Seçenekler genellikle kurumsal kimlik sağlayıcıları, Facebook ve Google+ gibi sosyal kimlik sağlayıcıları veya yerel hesaplardır.
api.idpselections.signup idpSelector.cshtml Kaydolma için kimlik sağlayıcısı seçimi - Kullanıcıların kaydolma sırasında aralarından seçim yapabilecekleri kimlik sağlayıcılarını listeler. Seçenekler genellikle kurumsal kimlik sağlayıcıları, Facebook ve Google+ gibi sosyal kimlik sağlayıcıları veya yerel hesaplardır.
api.localaccountpasswordreset selfasserted.cshtml Parolayı unuttum sayfası - Kullanıcıların parola sıfırlamayı başlatmak için tamamlaması gereken formu görüntüler.
api.localaccountsignin selfasserted.cshtml Yerel hesap oturum açma sayfası - E-posta adresini veya kullanıcı adını temel alan yerel bir hesapla oturum açmak için bir form görüntüler. Form bir metin giriş kutusu ve parola giriş kutusu içerebilir.
api.localaccountsignup selfasserted.cshtml Yerel hesap kaydolma sayfası - E-posta adresini veya kullanıcı adını temel alan yerel bir hesaba kaydolmak için bir form görüntüler. Formda metin giriş kutusu, parola giriş kutusu, radyo düğmesi, tek seçim açılan kutuları ve çoklu seçim onay kutuları gibi çeşitli giriş denetimleri bulunabilir.
api.phonefactor multifactor-1.0.0.cshtml Çok faktörlü kimlik doğrulama sayfası - Kaydolma veya oturum açma sırasında metin veya ses kullanarak telefon numaralarını doğrular.
api.selfasserted selfasserted.cshtml Sosyal hesap kaydolma sayfası - Kullanıcıların bir sosyal kimlik sağlayıcısından var olan bir hesabı kullanarak kaydolduğunda tamamlamaları gereken bir form görüntüler. Bu sayfa, parola giriş alanları dışında önceki sosyal hesap kaydolma sayfasına benzer.
api.selfasserted.profileupdate updateprofile.cshtml Profil güncelleştirme sayfası - Kullanıcıların profillerini güncelleştirmek için erişebileceği bir form görüntüler. Bu sayfa, parola giriş alanları dışında sosyal hesap kaydolma sayfasına benzer.
api.signuporsignin unified.cshtml Birleşik kaydolma veya oturum açma sayfası - Kullanıcı kaydolma ve oturum açma işlemini işler. Kullanıcılar kurumsal kimlik sağlayıcılarını, Facebook veya Google+ gibi sosyal kimlik sağlayıcılarını veya yerel hesapları kullanabilir.

Sonraki adımlar

İçerik tanımlarını kullanarak kullanıcı arabirimini özelleştirme örneği için bkz:

Özel bir ilke kullanarak uygulamanızın kullanıcı arabirimini özelleştirme