Azure Active Directory B2C özel ilkesinde kendi kendine onaylanan bir teknik profil tanımlama

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.

Kullanıcının giriş sağlamasının beklendiği Azure Active Directory B2C'deki (Azure AD B2C) tüm etkileşimler kendi kendine onaylanan teknik profillerdir. Örneğin, bir kaydolma sayfası, oturum açma sayfası veya parola sıfırlama sayfası.

Protokol

Protocol öğesinin Name özniteliği olarak ayarlanmalıdırProprietary. İşleyici özniteliği, azure AD B2C tarafından kendi kendine onaylanan protokol işleyicisi derlemesinin tam adını içermelidir:Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

Aşağıdaki örnekte, e-posta kayıt için kendi kendine onaylanan bir teknik profil gösterilmektedir:

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

Giriş talepleri

Kendi kendine onaylanan bir teknik profilde InputClaims ve InputClaimsTransformations öğelerini kullanarak kendi kendine onaylanan sayfada (görünen talepler) görünen taleplerin değerini önceden doldurmanız gerekir. Örneğin, profil düzenleme ilkesinde, kullanıcı yolculuğu önce Azure AD B2C dizin hizmetinden kullanıcı profilini okur, ardından kendi kendine onaylanan teknik profil, kullanıcı profilinde depolanan kullanıcı verileriyle giriş taleplerini ayarlar. Bu talepler kullanıcı profilinden toplanır ve ardından mevcut verileri düzenleyebilen kullanıcıya sunulur.

<TechnicalProfile Id="SelfAsserted-ProfileUpdate">
...
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="alternativeSecurityId" />
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
    <InputClaim ClaimTypeReferenceId="givenName" />
    <InputClaim ClaimTypeReferenceId="surname" />
  </InputClaims>

Talepleri görüntüleme

DisplayClaims öğesi, kullanıcıdan veri toplamak için ekranda sunulacak taleplerin listesini içerir. Görüntüleme taleplerinin değerlerini önceden doldurmak için daha önce açıklanan giriş taleplerini kullanın. öğesi varsayılan bir değer de içerebilir.

DisplayClaims'teki taleplerin sırası, Azure AD B2C'nin ekranda talepleri işleme sırasını belirtir. Kullanıcıyı belirli bir talep için değer sağlamaya zorlamak için DisplayClaim öğesinin Gerekli özniteliğini olarak trueayarlayın.

DisplayClaims koleksiyonundaki ClaimType öğesinin UserInputType öğesini Azure AD B2C tarafından desteklenen herhangi bir kullanıcı giriş türüne ayarlaması gerekir. Örneğin, TextBox veya DropdownSingleSelect.

DisplayControl'e başvuru ekleme

Görüntüleme talepleri koleksiyonuna, oluşturduğunuz bir DisplayControl başvurusu ekleyebilirsiniz. Görüntüleme denetimi, özel işlevlere sahip olan ve Azure AD B2C arka uç hizmetiyle etkileşim kuran bir kullanıcı arabirimi öğesidir. Kullanıcının sayfada arka uçta doğrulama teknik profili çağıran eylemler gerçekleştirmesine olanak tanır. Örneğin, e-posta adresini, telefon numarasını veya müşteri sadakat numarasını doğrulama.

Aşağıdaki örnekte TechnicalProfile , görüntüleme denetimleriyle görüntü taleplerinin kullanımı gösterilmektedir.

  • İlk görüntüleme talebi, e-posta adresini toplayan ve doğrulayan görüntüleme denetimine başvuruda emailVerificationControl bulunur.
  • İkinci görüntüleme talebi, CAPTCHA kodu oluşturan ve doğrulayan görüntü denetimine başvuru captchaChallengeControl yapar.
  • Altıncı görüntüleme talebi, telefon numarasını toplayan ve doğrulayan görüntü denetimine başvuruda phoneVerificationControl bulunur.
  • Diğer görünen talepler, kullanıcıdan toplanacak ClaimType'lardır.
<TechnicalProfile Id="Id">
  <DisplayClaims>
    <DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
    <DisplayClaim DisplayControlReferenceId="captchaChallengeControl" />
    <DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
    <DisplayClaim DisplayControlReferenceId="phoneVerificationControl" />
    <DisplayClaim ClaimTypeReferenceId="newPassword" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
  </DisplayClaims>
</TechnicalProfile>

Belirtildiği gibi, görüntüleme denetimine başvuru içeren bir görüntüleme talebi, örneğin e-posta adresini doğrulamak için kendi doğrulamasını çalıştırabilir. Ayrıca, kendi kendine onaylanan sayfa, bir sonraki düzenleme adımına geçmeden önce tüm kullanıcı girişleri (talep türleri veya görüntüleme denetimleri) dahil olmak üzere sayfanın tamamını doğrulamak için doğrulama teknik profilinin kullanılmasını destekler.

Görüntüleme beyanları ve çıkış taleplerinin kullanımını dikkatle birleştirin

Kendi kendine onaylanan bir teknik profilde bir veya daha fazla DisplayClaim öğesi belirtirseniz, ekranda görüntülemek ve kullanıcıdan toplamak istediğiniz her talep için bir DisplayClaim kullanmanız gerekir. En az bir görüntüleme talebi içeren kendi kendine onaylanan bir teknik profil tarafından hiçbir çıkış talebi görüntülenmez.

Bir talebin temel ilkede age çıkış talebi olarak tanımlandığı aşağıdaki örneği göz önünde bulundurun. Kendi kendini onaylanan teknik profile herhangi bir görüntüleme talebi eklemeden önce talep, age kullanıcıdan veri toplama için ekranda görüntülenir:

<TechnicalProfile Id="id">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="age" />
  </OutputClaims>
</TechnicalProfile>

Bu tabanı devralan yaprak ilkesi daha sonra bir görüntüleme talebi olarak belirtiyorsaofficeNumber:

<TechnicalProfile Id="id">
  <DisplayClaims>
    <DisplayClaim ClaimTypeReferenceId="officeNumber" />
  </DisplayClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="officeNumber" />
  </OutputClaims>
</TechnicalProfile>

age Temel ilkedeki talep artık ekranda kullanıcıya sunulmaz; etkili bir şekilde "gizlenir". Talebi görüntülemek age ve kullanıcıdan yaş değerini toplamak için bir ageDisplayClaim eklemeniz gerekir.

Çıkış talepleri

OutputClaims öğesi, sonraki düzenleme adımına döndürülecek taleplerin listesini içerir. DefaultValue özniteliği yalnızca talep hiç ayarlanmamışsa geçerlilik kazanır. Önceki düzenleme adımında ayarlanmışsa, kullanıcı değeri boş bıraksa bile varsayılan değer geçerli olmaz. Varsayılan değerin kullanılmasını zorlamak için AlwaysUseDefaultValue özniteliğini olarak trueayarlayın.

Güvenlik nedeniyle, parola talep değeri (UserInputType olarak Passwordayarlanır) yalnızca kendi onaylanan teknik profilin doğrulama teknik profillerinde kullanılabilir. Sonraki düzenleme adımlarında parola talebi kullanamazsınız.

Not

Kimlik Deneyimi Çerçevesi'nin (IEF) önceki sürümlerinde, kullanıcıdan veri toplamak için çıkış talepleri kullanıldı. Kullanıcıdan veri toplamak için bunun yerine bir DisplayClaims koleksiyonu kullanın.

OutputClaimsTransformations öğesi, çıkış taleplerini değiştirmek veya yenilerini oluşturmak için kullanılan OutputClaimsTransformation öğelerinin bir koleksiyonunu içerebilir.

Çıkış taleplerini kullanmanız gerektiğinde

Kendi kendine onaylanan bir teknik profilde, çıkış talepleri koleksiyonu talepleri bir sonraki düzenleme adımına döndürür.

Aşağıdaki durumlarda çıkış taleplerini kullanın:

  • Talepler, çıkış talep dönüştürmesi tarafından çıkıştır.
  • Kullanıcıdan veri toplamadan veya doğrulama teknik profilinden verileri döndürmeden çıkış talebinde varsayılan bir değer ayarlama. Kendinden LocalAccountSignUpWithLogonEmail onaylanan teknik profil, executed-SelfAsserted-Input iddiasını olarak trueayarlar.
  • Doğrulama teknik profili çıkış taleplerini döndürür - Teknik profiliniz bazı talepleri döndüren bir doğrulama teknik profili çağırabilir. Talepleri kabartırmak ve kullanıcı yolculuğunda sonraki düzenleme adımlarına geri döndürmek isteyebilirsiniz. Örneğin, yerel bir hesapla oturum açarken, adlı SelfAsserted-LocalAccountSignin-Email kendi kendine onaylanan teknik profil adlı login-NonInteractivedoğrulama teknik profilini çağırır. Bu teknik profil, kullanıcı kimlik bilgilerini doğrular ve ayrıca kullanıcı profilini döndürür. 'userPrincipalName', 'displayName', 'givenName' ve 'surName' gibi.
  • Görüntü denetimi çıkış taleplerini döndürür- Teknik profilinizin görüntüleme denetimine bir başvurusu olabilir. Görüntü denetimi, doğrulanmış e-posta adresi gibi bazı talepleri döndürür. Talepleri kabartırmak ve kullanıcı yolculuğunda sonraki düzenleme adımlarına geri döndürmek isteyebilirsiniz.

Aşağıdaki örnek, hem görüntüleme beyanlarını hem de çıkış beyanlarını kullanan kendi kendine onaylanan bir teknik profilin kullanımını gösterir.

<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="IpAddressClaimReferenceId">IpAddress</Item>
    <Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item>
    <Item Key="language.button_continue">Create</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" />
  </InputClaims>
  <DisplayClaims>
    <DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
    <DisplayClaim DisplayControlReferenceId="SecondaryEmailVerificationControl" />
    <DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="newPassword" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
  </DisplayClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" Required="true" />
    <OutputClaim ClaimTypeReferenceId="objectId" />
    <OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true" />
    <OutputClaim ClaimTypeReferenceId="authenticationSource" />
    <OutputClaim ClaimTypeReferenceId="newUser" />
  </OutputClaims>
  <ValidationTechnicalProfiles>
    <ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
  </ValidationTechnicalProfiles>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>

Çıkış taleplerine kaydolma veya oturum açma sayfası

Birleştirilmiş kaydolma ve oturum açma sayfasında, veya unifiedssd sayfa türünü belirten bir içerik tanımı DataUri öğesi kullanılırken aşağıdakilere unifiedssp dikkat edin:

  • Yalnızca kullanıcı adı ve parola talepleri işlenir.
  • İlk iki çıkış talebi kullanıcı adı ve parola olmalıdır (bu sırada).
  • Diğer talepler işlenmez; bu talepler için, talep formu doğrulama teknik profilini ayarlamanız defaultValue veya çağırmanız gerekir.

Kalıcı talepler

PersistedClaims öğesi kullanılmaz. Kendi kendine onaylanan teknik profil verileri Azure AD B2C'de kalıcı yapmaz. Bunun yerine, verileri kalıcı hale getirmekten sorumlu olan bir doğrulama teknik profiline çağrı yapılır. Örneğin, kaydolma ilkesi yeni kullanıcı profilini toplamak için kendi kendine onaylanan teknik profili kullanır LocalAccountSignUpWithLogonEmail . Teknik profil, LocalAccountSignUpWithLogonEmail hesabı Azure AD B2C'de oluşturmak için doğrulama teknik profilini çağırır.

Doğrulama teknik profilleri

Doğrulama teknik profili, başvuran teknik profilin çıkış taleplerinin bazılarını veya tümünü doğrulamak için kullanılır. Doğrulama teknik profilinin giriş talepleri, kendi kendine onaylanan teknik profilin çıkış taleplerinde görünmelidir. Doğrulama teknik profili, kullanıcı girişini doğrular ve kullanıcıya bir hata döndürebilir.

Doğrulama teknik profili, ilkedeki Microsoft Entra Id veya REST API teknik profilleri gibi herhangi bir teknik profil olabilir. Önceki örnekte, LocalAccountSignUpWithLogonEmail teknik profil signinName öğesinin dizinde mevcut olmadığını doğrular. Aksi takdirde, doğrulama teknik profili yerel bir hesap oluşturur ve objectId, authenticationSource, newUser değerini döndürür. Teknik profil, SelfAsserted-LocalAccountSignin-Email kullanıcı kimlik bilgilerini doğrulamak için doğrulama teknik profilini çağırır login-NonInteractive .

Ayrıca iş mantığınızla bir REST API teknik profili çağırabilir, giriş taleplerinin üzerine yazabilir veya kurumsal iş kolu uygulamasıyla daha fazla tümleştirerek kullanıcı verilerini zenginleştirebilirsiniz. Daha fazla bilgi için bkz . Doğrulama teknik profili

Not

Doğrulama teknik profili yalnızca kullanıcıdan bir giriş olduğunda tetikler. Yalnızca ValidationTechnicalProfile öğesinin ContinueOnError özniteliğinden yararlanmak için doğrulama teknik profilini çağırmak için kendi kendine onaylanan boş bir teknik profil oluşturamazsınız. Doğrulama teknik profilini yalnızca kullanıcıdan giriş isteyen kendi kendine onaylanan bir teknik profilden veya bir kullanıcı yolculuğundaki düzenleme adımından çağırabilirsiniz.

Meta veri

Öznitelik Zorunlu Açıklama
setting.operatingMode 1 Hayır Oturum açma sayfası için bu özellik, giriş doğrulama ve hata iletileri gibi kullanıcı adı alanının davranışını denetler. Beklenen değerler: Username veya Email. Bu meta verilerin Canlı tanıtımına göz atın.
AllowGenerationOfClaimsWithNullValues Hayır Null değere sahip bir talep oluşturmaya izin verin. Örneğin, bir durumda kullanıcı onay kutusunu seçmez.
ContentDefinitionReferenceId Yes Bu teknik profille ilişkili içerik tanımının tanımlayıcısı.
EnforceEmailVerification Hayır Kaydolma veya profil düzenleme için e-posta doğrulaması uygular. Olası değerler: true (varsayılan) veya false.
setting.retryLimit Hayır Kullanıcının doğrulama teknik profiline göre denetlenen verileri sağlamayı kaç kez deneyebileceğini denetler. Örneğin, bir kullanıcı zaten var olan bir hesapla kaydolmaya çalışır ve sınıra ulaşılana kadar denemeye devam eder. Bu meta verilerin Canlı tanıtımına göz atın.
SignUpTarget 1 Hayır Kaydolma hedefi değişim tanımlayıcısı. Kullanıcı kayıt düğmesine tıkladığında, Azure AD B2C belirtilen exchange tanımlayıcısını yürütür.
setting.showCancelButton Hayır İptal düğmesini görüntüler. Olası değerler: true (varsayılan) veya false. Bu meta verilerin Canlı tanıtımına göz atın.
setting.showContinueButton Hayır Devam düğmesini görüntüler. Olası değerler: true (varsayılan) veya false. Bu meta verilerin Canlı tanıtımına göz atın.
setting.showSignupLink 2 Hayır Kaydolma düğmesini görüntüler. Olası değerler: true (varsayılan) veya false. Bu meta verilerin Canlı tanıtımına göz atın.
setting.forgotPasswordLinkLocation 2 Hayır Parolayı unuttum bağlantısını görüntüler. Olası değerler: AfterLabel (varsayılan) bağlantıyı doğrudan etiket sonrasında veya etiket olmadığında parola giriş alanından sonra görüntüler, AfterInput parola giriş alanından sonra bağlantıyı görüntüler, AfterButtons düğmelerden sonra formun alt kısmındaki bağlantıyı görüntüler veya None parolayı unuttum bağlantısını kaldırır. Bu meta verilerin Canlı tanıtımına göz atın.
setting.enableRememberMe 2 Hayır Oturumumu açık tut onay kutusunu görüntüler. Olası değerler: true veya false (varsayılan). Bu meta verilerin canlı tanıtımı .
setting.inputVerificationDelayTimeInMilliseconds 3 Hayır Kullanıcının yazmayı durdurmasını ve ardından değeri doğrulamasını bekleyerek kullanıcı deneyimini geliştirir. Varsayılan değer 2000 milisaniye. Bu meta verilerin Canlı tanıtımına göz atın.
IncludeClaimResolvingInClaimsHandling Hayır Giriş ve çıkış talepleri için, talep çözümlemesinin teknik profile dahil edilip edilmeyeceğini belirtir. Olası değerler: trueveya false (varsayılan). Teknik profilde bir talep çözümleyicisi kullanmak istiyorsanız, bunu olarak trueayarlayın.
setting.forgotPasswordLinkOverride 4 Hayır Yürütülecek parola sıfırlama talepleri değişimi. Daha fazla bilgi için bkz . Self servis parola sıfırlama.
setting.enableCaptchaChallenge Hayır CAPTCHA sınama kodunun görüntülenip görüntülenmeyeceğini belirtir. Olası değerler: true veya false (varsayılan). Bu ayarın çalışması için CAPTCHA görüntü denetimine , kendi kendine onaylanan teknik profilin görüntü taleplerinde başvurulmalıdır. CAPTCHA özelliği genel önizleme aşamasındadır.

Notlar:

  1. veya içerik tanımı DataUri türü unifiedsspunifiedssdiçin kullanılabilir.
  2. veya içerik tanımı DataUri türü unifiedsspunifiedssdiçin kullanılabilir. Sayfa düzeni sürüm 1.1.0 ve üzeri.
  3. Sayfa düzeni sürüm 1.2.0 ve üzeri için kullanılabilir.
  4. İçerik tanımı datauri türü için unifiedsspkullanılabilir. Sayfa düzeni sürüm 2.1.2 ve üzeri.

Şifreleme anahtarları

CryptographicKeys öğesi kullanılmaz.