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 true
ayarlayı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 age
DisplayClaim 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 true
ayarlayın.
Güvenlik nedeniyle, parola talep değeri (UserInputType
olarak Password
ayarlanı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ı olaraktrue
ayarlar. - 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-NonInteractive
doğ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: true veya false (varsayılan). Teknik profilde bir talep çözümleyicisi kullanmak istiyorsanız, bunu olarak true ayarlayı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:
- veya içerik tanımı DataUri türü
unifiedssp
unifiedssd
için kullanılabilir. - veya içerik tanımı DataUri türü
unifiedssp
unifiedssd
için kullanılabilir. Sayfa düzeni sürüm 1.1.0 ve üzeri. - Sayfa düzeni sürüm 1.2.0 ve üzeri için kullanılabilir.
- İçerik tanımı datauri türü için
unifiedssp
kullanılabilir. Sayfa düzeni sürüm 2.1.2 ve üzeri.
Şifreleme anahtarları
CryptographicKeys öğesi kullanılmaz.