Teknik profiller
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.
Teknik profil, farklı taraf türleriyle iletişim kurmak için yerleşik bir mekanizmaya sahip bir çerçeve sağlar. Teknik profiller, kullanıcı oluşturmak veya kullanıcı profilini okumak için Azure Active Directory B2C (Azure AD B2C) kiracınızla iletişim kurmak için kullanılır. Kullanıcıyla etkileşimi etkinleştirmek için teknik profil kendi kendine onaylanabilir. Örneğin, bir teknik profil kullanıcının oturum açmak için kimlik bilgilerini toplayabilir ve ardından kaydolma sayfasını veya parola sıfırlama sayfasını işleyebilir.
Teknik profil türleri
Teknik profil şu tür senaryoları etkinleştirir:
- Application Insights: Olay verilerini Application Insights'a gönderir.
- Microsoft Entra Id: Azure AD B2C kullanıcı yönetimi için destek sağlar.
- Microsoft Entra çok faktörlü kimlik doğrulaması: Microsoft Entra çok faktörlü kimlik doğrulamasını kullanarak telefon numarasını doğrulama desteği sağlar.
- Talep dönüştürme: Talep değerlerini işlemek, talepleri doğrulamak veya bir çıkış talepleri kümesi için varsayılan değerleri ayarlamak için çıkış talep dönüştürmelerini çağırır.
- Kimlik belirteci ipucu: JWT belirteç imzasını
id_token_hint
, veren adını ve belirteç hedef kitlesini doğrular ve talebi gelen belirteçten ayıklar. - JWT belirteci veren: Bağlı olan taraf uygulamasına geri döndürülen bir JWT belirteci yayar.
- OAuth1: Herhangi bir OAuth 1.0 protokolü kimlik sağlayıcısıyla federasyon.
- OAuth2: Herhangi bir OAuth 2.0 protokolü kimlik sağlayıcısıyla federasyon.
- Tek seferlik parola: Tek seferlik parola oluşturma ve doğrulamayı yönetme desteği sağlar.
- OpenID Connect: Herhangi bir OpenID Connect protokolü kimlik sağlayıcısıyla federasyon.
- Telefon faktörü: Telefon numaralarını kaydetmeyi ve doğrulamayı destekler.
- RESTful sağlayıcısı: Kullanıcı girişini doğrulama, kullanıcı verilerini zenginleştirme veya iş kolu uygulamalarıyla tümleştirme gibi REST API hizmetlerini çağırır.
- SAML kimlik sağlayıcısı: Herhangi bir SAML protokolü kimlik sağlayıcısı ile federasyon.
- SAML belirteci veren: Bağlı olan taraf uygulamasına geri döndürülen bir SAML belirteci yayar.
- Kendi kendine onaylanan: Kullanıcıyla etkileşim kurar. Örneğin, oturum açmak, kaydolma sayfasını işlemek veya parolayı sıfırlamak için kullanıcının kimlik bilgilerini toplar.
- Oturum yönetimi: Farklı oturum türlerini işler.
Teknik profil akışı
Tüm teknik profil türleri aynı kavramı paylaşır. Giriş taleplerini okuyarak başlarlar ve talep dönüştürmelerini çalıştırırlar. Ardından bir kimlik sağlayıcısı, REST API veya Microsoft Entra dizin hizmetleri gibi yapılandırılmış tarafla iletişim kurar. İşlem tamamlandıktan sonra teknik profil çıkış taleplerini döndürür ve çıkış talep dönüştürmelerini çalıştırabilir. Aşağıdaki diyagramda, teknik profilde başvuruda bulunan dönüştürmelerin ve eşlemelerin nasıl işlendiği gösterilmektedir. Talep dönüştürme işlemi yürütüldükten sonra, teknik profilin etkileşimde olduğu taraf ne olursa olsun çıkış talepleri hemen talep çantasında depolanır.
- Çoklu oturum açma (SSO) oturum yönetimi: SSO oturum yönetimini kullanarak teknik profilin oturum durumunu geri yükler.
- Giriş talepleri dönüşümü: Teknik profil başlatılmadan önce, Azure AD B2C giriş talepleri dönüştürmesini çalıştırır.
- Giriş talepleri: Talepler, teknik profil için kullanılan talep paketinden alınır.
- Teknik profil yürütme: Teknik profil, talepleri yapılandırılan tarafla değiştirir. Örneğin:
- Oturum açma işlemini tamamlamak için kullanıcıyı kimlik sağlayıcısına yönlendirir. Başarılı bir şekilde oturum açıldıktan sonra kullanıcı geri döner ve teknik profil yürütme devam eder.
- Parametreleri InputClaims olarak gönderirken ve bilgileri OutputClaims olarak geri alırken REST API'yi çağırır.
- Kullanıcı hesabını oluşturur veya güncelleştirir.
- Çok faktörlü kimlik doğrulama metin iletisini gönderir ve doğrular.
- Doğrulama teknik profilleri: Kendi kendine onaylanan bir teknik profil, kullanıcı tarafından profili oluşturulan verileri doğrulamak için doğrulama teknik profillerini çağırabilir. Doğrulama teknik profillerini yalnızca kendi kendine onaylanan teknik profiller kullanabilir.
- Çıkış talepleri: Talepler talep paketine geri döndürülür. Bu talepleri sonraki düzenleme adımında veya çıkış talep dönüştürmelerinde kullanabilirsiniz.
- Çıkış talep dönüştürmeleri: Teknik profil tamamlandıktan sonra Azure AD B2C çıkış talep dönüştürmelerini çalıştırır.
- SSO oturum yönetimi: SSO oturum yönetimini kullanarak teknik profilin verilerini oturumda kalıcı hale ekler.
TechnicalProfiles öğesi, talep sağlayıcısı tarafından desteklenen bir dizi teknik profil içerir. Her talep sağlayıcısının en az bir teknik profili olmalıdır. Teknik profil, talep sağlayıcısıyla iletişim kurmak için gereken uç noktaları ve protokolleri belirler. Talep sağlayıcısının birden çok teknik profili olabilir.
<ClaimsProvider>
<DisplayName>Display name</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="Technical profile identifier">
<DisplayName>Display name of technical profile</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
...
</Metadata>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
TechnicalProfile öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
Kimlik | Yes | Teknik profilin benzersiz tanımlayıcısı. teknik profile, ilke dosyasındaki diğer öğelerden bu tanımlayıcı kullanılarak başvurulabilir. OrchestrationSteps ve ValidationTechnicalProfile örnekleri verilmiştir. |
TechnicalProfile öğesi aşağıdaki öğeleri içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
Domain | 0:1 | Teknik profilin etki alanı adı. Örneğin, teknik profiliniz Facebook kimlik sağlayıcısını belirtiyorsa, etki alanı adı Facebook.com. |
DisplayName | 1:1 | Teknik profilin görünen adı. |
Açıklama | 0:1 | Teknik profilin açıklaması. |
Protokol | 1:1 | Diğer tarafla iletişim için kullanılan protokol. |
Meta veri | 0:1 | Teknik profilin davranışını denetleyen anahtarlar ve değerler kümesi. |
InputTokenFormat | 0:1 | Giriş belirtecinin biçimi. Olası değerler JSON : , JWT , SAML11 veya SAML2 . değeri, JWT IETF belirtimi başına bir JSON Web Belirtecini temsil eder. değer, SAML11 OASIS belirtimi başına bir SAML 1.1 güvenlik belirtecini temsil eder. değer, SAML2 OASIS belirtimi başına bir SAML 2.0 güvenlik belirtecini temsil eder. |
OutputTokenFormat | 0:1 | Çıkış belirtecinin biçimi. Olası değerler JSON : , JWT , SAML11 veya SAML2 . |
CryptographicKeys | 0:1 | Teknik profilde kullanılan şifreleme anahtarlarının listesi. |
InputClaimsTransformations | 0:1 | Talep sağlayıcısına veya bağlı olan tarafa herhangi bir talep gönderilmeden önce yürütülmesi gereken talep dönüştürmelerine önceden tanımlanmış başvuruların listesi. |
InputClaims | 0:1 | Teknik profilde giriş olarak alınan talep türlerine önceden tanımlanmış başvuruların listesi. |
PersistedClaims | 0:1 | Teknik profil tarafından kalıcı hale gelecek talep türlerine önceden tanımlanmış başvuruların listesi. |
DisplayClaims | 0:1 | Kendi kendine onaylanan teknik profil tarafından sunulan talep türlerine yönelik önceden tanımlanmış başvuruların listesi. DisplayClaims özelliği şu anda önizleme aşamasındadır. |
OutputClaims | 0:1 | Teknik profilde çıktı olarak alınan talep türlerine önceden tanımlanmış başvuruların listesi. |
OutputClaimsTransformations | 0:1 | Talep sağlayıcısından talep alındıktan sonra yürütülmesi gereken talep dönüştürmelerine yönelik önceden tanımlanmış başvuruların listesi. |
ValidationTechnicalProfiles | 0:n | Teknik profilin doğrulama amacıyla kullandığı diğer teknik profillere yapılan başvuruların listesi. Daha fazla bilgi için bkz . Doğrulama teknik profili. |
SubjectNamingInfo | 0:1 | Konu adının taleplerden ayrı olarak belirtildiği belirteçlerde konu adının üretimini denetler. Örnek olarak OAuth veya SAML verilebilir. |
IncludeInSso | 0:1 | Bu teknik profilin kullanımı oturum için SSO davranışı uygulamalı mı yoksa bunun yerine açık etkileşim mi gerektirmelidir? Bu öğe yalnızca doğrulama teknik profilinde kullanılan SelfAsserted profillerinde geçerlidir. Olası değerler (varsayılan) veya false şeklindedir true . |
IncludeClaimsFromTechnicalProfile | 0:1 | Tüm giriş ve çıkış taleplerinin bu teknik profile eklenmesini istediğiniz bir teknik profilin tanımlayıcısı. Başvuruda bulunılan teknik profil aynı ilke dosyasında tanımlanmalıdır. |
IncludeTechnicalProfile | 0:1 | Tüm verilerin bu teknik profile eklenmesini istediğiniz teknik profilin tanımlayıcısı. |
UseTechnicalProfileForSessionManagement | 0:1 | Oturum yönetimi için kullanılacak farklı bir teknik profil. |
EnabledForUserJourneys | 0:1 | Teknik profilin bir kullanıcı yolculuğunda yürütülip yürütülmediğini denetler. |
Protokol
Protocol öğesi, diğer tarafla iletişim için kullanılacak protokolü belirtir. Protocol öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
Adı | Yes | Azure AD B2C tarafından desteklenen ve teknik profilin bir parçası olarak kullanılan geçerli bir protokolün adı. Olası değerler OAuth1 : , OAuth2 , SAML2 , OpenIdConnect , Proprietary , veya None . |
İşleyici | Hayır | Protokol adı olarak Proprietary ayarlandığında, Protokol işleyicisini belirlemek için Azure AD B2C tarafından kullanılan derlemenin adını belirtir. Protokol Adı özniteliğini olarak None ayarlarsanız İşleyici özniteliğini eklemeyin. |
Meta veri
Metadata öğesi, belirli bir protokolle ilgili yapılandırma seçeneklerini içerir. Desteklenen meta verilerin listesi ilgili teknik profil belirtiminde belgelenmiştir. Meta Veri öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
Kalem | 0:n | Teknik profille ilgili meta veriler. Her teknik profil türünün farklı bir meta veri öğeleri kümesi vardır. Daha fazla bilgi için teknik profil türleri bölümüne bakın. |
Kalem
Metadata öğesinin Item öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
Tuş | Yes | Meta veri anahtarı. Meta veri öğelerinin listesi için her teknik profil türüne bakın. |
Aşağıdaki örnekte, OAuth2 teknik profiliyle ilgili meta verilerin kullanımı gösterilmektedir.
<TechnicalProfile Id="Facebook-OAUTH">
...
<Metadata>
<Item Key="ProviderName">facebook</Item>
<Item Key="authorization_endpoint">https://www.facebook.com/dialog/oauth</Item>
<Item Key="AccessTokenEndpoint">https://graph.facebook.com/oauth/access_token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="UsePolicyInRedirectUri">0</Item>
...
</Metadata>
...
</TechnicalProfile>
Aşağıdaki örnekte REST API teknik profiliyle ilgili meta verilerin kullanımı gösterilmektedir.
<TechnicalProfile Id="REST-Validate-Email">
...
<Metadata>
<Item Key="ServiceUrl">https://api.sendgrid.com/v3/mail/send</Item>
<Item Key="AuthenticationType">Bearer</Item>
<Item Key="SendClaimsIn">Body</Item>
...
</Metadata>
...
</TechnicalProfile>
Şifreleme anahtarları
Azure AD B2C, tümleştirilmeye devam eden hizmetlerle güven oluşturmak için gizli dizileri ve sertifikaları ilke anahtarları biçiminde depolar. Teknik profil yürütme sırasında, Azure AD B2C şifreleme anahtarlarını Azure AD B2C ilke anahtarlarından alır. Ardından Azure AD B2C, güven oluşturmak veya bir belirteci şifrelemek veya imzalamak için anahtarları kullanır. Bu güvenler şunlardan oluşur:
- OAuth1, OAuth2 ve SAML kimlik sağlayıcılarıyla federasyon.
- REST API hizmetleriyle bağlantının güvenliğini sağlama.
- JWT ve SAML belirteçlerini imzalama ve şifreleme.
CryptographicKeys öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
Tuş | 1:n | Bu teknik profilde kullanılan şifreleme anahtarı. |
Anahtar
Key öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
Kimlik | Hayır | İlke dosyasındaki diğer öğelerden başvuruda bulunarak belirli bir anahtar çiftinin benzersiz tanımlayıcısı. |
StorageReferenceId | Yes | İlke dosyasındaki diğer öğelerden başvuruda bulunılan bir depolama anahtarı kapsayıcısının tanımlayıcısı. |
Giriş talep dönüştürmeleri
InputClaimsTransformations öğesi, giriş taleplerini değiştirmek veya yenilerini oluşturmak için kullanılan bir giriş talepleri dönüştürme öğeleri koleksiyonu içerebilir.
Talep dönüştürme koleksiyonundaki önceki bir talep dönüştürmesinin çıkış talepleri, sonraki bir giriş talepleri dönüştürmesinin giriş talepleri olabilir. Bu şekilde, birbirine bağlı bir dizi talep dönüştürmesine sahip olabilirsiniz.
InputClaimsTransformations öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
InputClaimsTransformation | 1:n | Talep sağlayıcısına veya bağlı olan tarafa herhangi bir talep gönderilmeden önce yürütülmesi gereken talep dönüştürmesinin tanımlayıcısı. Talep dönüştürme, mevcut ClaimsSchema taleplerini değiştirmek veya yenilerini oluşturmak için kullanılabilir. |
InputClaimsTransformation
InputClaimsTransformation öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ReferenceId | Yes | İlke dosyasında veya üst ilke dosyasında zaten tanımlanmış bir talep dönüştürmesinin tanımlayıcısı. |
Aşağıdaki teknik profiller CreateOtherMailsFromEmail talep dönüştürmesine başvurur. Talep dönüştürmesi, verileri dizinde kalıcı hale getirmeden otherMails
önce talebin değerini email
koleksiyona ekler.
<TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
...
<InputClaimsTransformations>
<InputClaimsTransformation ReferenceId="CreateOtherMailsFromEmail" />
</InputClaimsTransformations>
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="alternativeSecurityId" />
<PersistedClaim ClaimTypeReferenceId="userPrincipalName" />
<PersistedClaim ClaimTypeReferenceId="mailNickName" DefaultValue="unknown" />
<PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
<PersistedClaim ClaimTypeReferenceId="otherMails" />
<PersistedClaim ClaimTypeReferenceId="givenName" />
<PersistedClaim ClaimTypeReferenceId="surname" />
</PersistedClaims>
...
</TechnicalProfile>
Giriş talepleri
InputClaims öğesi, teknik profil için kullanılan talep çantasından talepleri alır. Örneğin, kendi kendine onaylanan bir teknik profil , kullanıcının sağladığı çıkış taleplerini önceden doldurması için giriş beyanlarını kullanır. REST API teknik profili, giriş parametrelerini REST API uç noktasına göndermek için giriş taleplerini kullanır. Azure AD B2C, bir hesabı okumak, güncelleştirmek veya silmek için benzersiz tanımlayıcı olarak bir giriş talebi kullanır.
InputClaims öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
InputClaim | 1:n | Beklenen giriş talep türü. |
InputClaim
InputClaim öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ClaimTypeReferenceId | Yes | Talep türünün tanımlayıcısı. Talep, ilke dosyasının veya üst ilke dosyasının talep şeması bölümünde zaten tanımlanmıştır. |
DefaultValue | Hayır | ClaimTypeReferenceId tarafından belirtilen talep mevcut değilse, sonuçta elde edilen talebin teknik profil tarafından InputClaim öğesi olarak kullanılabilmesi için bir talep oluşturmak için kullanılacak varsayılan değerdir. |
AlwaysUseDefaultValue | Yes | Varsayılan değerin kullanımını zorlar. |
PartnerClaimType | Hayır | Belirtilen ilke talep türünün eşlendiğini dış iş ortağının talep türünün tanımlayıcısı. PartnerClaimType özniteliği belirtilmezse, belirtilen ilke talep türü aynı ada sahip iş ortağı talep türüne eşlenir. Talep türü adınız diğer taraftan farklı olduğunda bu özelliği kullanın. Örnek olarak ilk talep adının Name olması, iş ortağının ise first_name adlı bir talep kullanması verilebilir. |
Talepleri görüntüleme
DisplayClaims öğesi, kullanıcıdan veri toplamak için ekranda sunulacak taleplerin listesini içerir. Görüntüleme talepleri koleksiyonuna, oluşturduğunuz bir talep türüne veya görüntüleme denetimine başvuru ekleyebilirsiniz.
- Talep türü, ekranda görüntülenecek bir talep başvurusudur.
- Kullanıcıyı belirli bir talep için değer sağlamaya zorlamak için DisplayClaim öğesinin Gerekli özniteliğini olarak
true
ayarlayın. - 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 koleksiyonundaki ClaimType öğesinin UserInputType öğesini Azure AD B2C tarafından desteklenen herhangi bir kullanıcı giriş türüne ayarlaması gerekir. Örnek olarak veya
DropdownSingleSelect
verilebilirTextBox
.
- Kullanıcıyı belirli bir talep için değer sağlamaya zorlamak için DisplayClaim öğesinin Gerekli özniteliğini olarak
- 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. E-posta adresini, telefon numarasını veya müşteri sadakat numarasını doğrulamaya örnek olarak gösteriliyor.
DisplayClaims'teki öğelerin sırası, Azure AD B2C'nin ekranda talepleri işleme sırasını belirtir.
DisplayClaims öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
DisplayClaim | 1:n | Beklenen giriş talep türü. |
DisplayClaim
DisplayClaim öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ClaimTypeReferenceId | Hayır | İlke dosyasının veya üst ilke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir talep türünün tanımlayıcısı. |
DisplayControlReferenceId | Hayır | İlke dosyasının veya üst ilke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir görüntüleme denetiminin tanımlayıcısı. |
Gerekli | Hayır | Görüntüleme talebi gerekip gerekmediğini gösterir. |
Aşağıdaki örnekte, kendi kendine onaylanan bir teknik profilde görünen taleplerin ve görüntüleme denetimlerinin kullanımı gösterilmektedir.
Aşağıdaki teknik profilde:
- İlk görüntüleme talebi, e-posta adresini toplayan ve doğrulayan görüntüleme denetimine başvuruda
emailVerificationControl
bulunur. - Beşinci görüntüleme talebi, telefon numarasını toplayan ve doğrulayan ekran denetimine başvuruda
phoneVerificationControl
bulunur. - Diğer görünen talepler, kullanıcıdan toplanacak ClaimType öğeleridir.
<TechnicalProfile Id="Id">
<DisplayClaims>
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
<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>
Kalıcı talepler
PersistedClaims öğesi, ilkenin ClaimsSchema bölümünde zaten tanımlanmış bir talep türü ile Microsoft Entra öznitelik adı arasında olası eşleme bilgilerine sahip bir Microsoft Entra ID teknik profili tarafından kalıcı olması gereken tüm değerleri içerir.
Talebin adı, Microsoft Entra özniteliği adını içeren PartnerClaimType özniteliği belirtilmediği sürece Microsoft Entra özniteliğinin adıdır.
PersistedClaims öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
PersistedClaim | 1:n | Kalıcı hale getirmek için talep türü. |
PersistedClaim
PersistedClaim öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ClaimTypeReferenceId | Yes | İlke dosyasının veya üst ilke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir talep türünün tanımlayıcısı. |
DefaultValue | Hayır | Talep yoksa, talep oluşturmak için kullanılacak varsayılan değerdir. |
PartnerClaimType | Hayır | Belirtilen ilke talep türünün eşlendiğini dış iş ortağının talep türünün tanımlayıcısı. PartnerClaimType özniteliği belirtilmezse, belirtilen ilke talep türü aynı ada sahip iş ortağı talep türüne eşlenir. Talep türü adınız diğer taraftan farklı olduğunda bu özelliği kullanın. Örnek olarak ilk talep adının Name olması, iş ortağının ise first_name adlı bir talep kullanması verilebilir. |
Aşağıdaki örnekte, AAD-UserWriteUsingLogonEmail teknik profili veya yeni yerel hesap oluşturan başlangıç paketi aşağıdaki talepleri sürdürmektedir:
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" />
<PersistedClaim ClaimTypeReferenceId="newPassword" PartnerClaimType="password"/>
<PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
<PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration" />
<PersistedClaim ClaimTypeReferenceId="givenName" />
<PersistedClaim ClaimTypeReferenceId="surname" />
</PersistedClaims>
Çıkış talepleri
OutputClaims öğesi, teknik profil tamamlandıktan sonra talep paketine geri döndürülen talep koleksiyonudur. Bu talepleri sonraki düzenleme adımında veya çıkış talep dönüştürmelerinde kullanabilirsiniz. OutputClaims öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
OutputClaim | 1:n | Beklenen çıkış talep türü. |
OutputClaim
OutputClaim öğesi aşağıdaki öznitelikleri içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ClaimTypeReferenceId | Yes | İlke dosyasının veya üst ilke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir talep türünün tanımlayıcısı. |
DefaultValue | Hayır | Talep yoksa, talep oluşturmak için kullanılacak varsayılan değerdir. |
AlwaysUseDefaultValue | Hayır | Varsayılan değerin kullanımını zorlar. |
PartnerClaimType | Hayır | Belirtilen ilke talep türünün eşlendiğini dış iş ortağının talep türünün tanımlayıcısı. İş ortağı talep türü özniteliği belirtilmezse, belirtilen ilke talep türü aynı ada sahip iş ortağı talep türüne eşlenir. Talep türü adınız diğer taraftan farklı olduğunda bu özelliği kullanın. Örnek olarak ilk talep adının Name olması, iş ortağının ise first_name adlı bir talep kullanması verilebilir. |
Çıkış talep dönüştürmeleri
OutputClaimsTransformations öğesi OutputClaimsTransformation öğelerinin bir koleksiyonunu içerebilir. Çıkış talep dönüştürmeleri, çıkış taleplerini değiştirmek veya yenilerini oluşturmak için kullanılır. Yürütmeden sonra çıkış talepleri talep paketine geri konur. Bu talepleri sonraki düzenleme adımında kullanabilirsiniz.
Talep dönüştürme koleksiyonundaki önceki bir talep dönüştürmesinin çıkış talepleri, sonraki bir giriş talepleri dönüştürmesinin giriş talepleri olabilir. Bu şekilde, birbirine bağlı bir dizi talep dönüştürmesine sahip olabilirsiniz.
OutputClaimsTransformations öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
OutputClaimsTransformation | 1:n | Talep sağlayıcıya veya bağlı olan tarafa herhangi bir talep gönderilmeden önce yürütülmesi gereken talep dönüştürmelerinin tanımlayıcıları. Talep dönüştürme, mevcut ClaimsSchema taleplerini değiştirmek veya yenilerini oluşturmak için kullanılabilir. |
OutputClaimsTransformation
OutputClaimsTransformation öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ReferenceId | Yes | İlke dosyasında veya üst ilke dosyasında zaten tanımlanmış bir talep dönüştürmesinin tanımlayıcısı. |
Aşağıdaki teknik profil, dizinden talebi okuduktan sonra hesabın etkinleştirilip etkinleştirilmediğini değerlendirmek için AssertAccountEnabledIsTrue talep dönüştürmesine accountEnabled
başvurur.
<TechnicalProfile Id="AAD-UserReadUsingEmailAddress">
...
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
<OutputClaim ClaimTypeReferenceId="userPrincipalName" />
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="accountEnabled" />
<OutputClaim ClaimTypeReferenceId="otherMails" />
<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="AssertAccountEnabledIsTrue" />
</OutputClaimsTransformations>
...
</TechnicalProfile>
Doğrulama teknik profilleri
Doğrulama teknik profili, kendi kendine onaylanan bir teknik profilde çıkış taleplerini doğrulamak için kullanılır. Doğrulama teknik profili, Microsoft Entra Id veya REST API gibi herhangi bir protokolden gelen sıradan bir teknik profildir. Doğrulama teknik profili çıkış taleplerini veya hata kodunu döndürür. Hata iletisi ekranda kullanıcıya işlenir ve bu da kullanıcının yeniden denemesine olanak tanır.
Aşağıdaki diyagramda Azure AD B2C'nin kullanıcı kimlik bilgilerini doğrulamak için doğrulama teknik profilini nasıl kullandığı gösterilmektedir.
ValidationTechnicalProfiles öğesi aşağıdaki öğeyi içerir:
Öğe | Oluşum | Açıklama |
---|---|---|
ValidationTechnicalProfile | 1:n | Kullanılan teknik profillerin tanımlayıcıları, başvuran teknik profilin çıkış taleplerinin bir kısmını veya tümünü doğrular. Başvuruda bulunan teknik profilin tüm giriş talepleri, başvuran teknik profilin çıkış taleplerinde görünmelidir. |
ValidationTechnicalProfile
ValidationTechnicalProfile öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ReferenceId | Yes | İlke dosyasında veya üst ilke dosyasında zaten tanımlanmış bir teknik profilin tanımlayıcısı. |
SubjectNamingInfo
SubjectNamingInfo öğesi, bağlı olan taraf ilkesindeki belirteçlerde kullanılan konu adını tanımlar. SubjectNamingInfo öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ClaimType | Yes | İlke dosyasının ClaimsSchema bölümünde zaten tanımlanmış bir talep türünün tanımlayıcısı. |
Teknik profil ekle
Teknik profil, ayarları değiştirmek veya yeni işlevler eklemek için başka bir teknik profil içerebilir. IncludeTechnicalProfile öğesi, bir teknik profilin türetildiği ortak teknik profile başvurudur. İlke öğelerinizin yedekliliğini ve karmaşıklığını azaltmak için, temel öğeleri paylaşan birden çok teknik profiliniz olduğunda ekleme özelliğini kullanın. Ortak teknik profili içeren belirli görev teknik profilleriyle birlikte ortak yapılandırma kümesiyle ortak bir teknik profil kullanın.
Farklı senaryolar için farklı talep kümeleri göndermeniz gereken tek uç noktaya sahip bir REST API teknik profiliniz olduğunu varsayalım. REST API uç nokta URI'si, meta veriler, kimlik doğrulama türü ve şifreleme anahtarları gibi paylaşılan işlevlerle ortak bir teknik profil oluşturun. Ortak teknik profili içeren belirli görev teknik profilleri oluşturun. Ardından giriş ve çıkış taleplerini ekleyin veya bu teknik profille ilgili REST API uç noktası URI'sinin üzerine yazın.
IncludeTechnicalProfile öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ReferenceId | Yes | İlke dosyasında veya üst ilke dosyasında zaten tanımlanmış bir teknik profilin tanımlayıcısı. |
Aşağıdaki örnekte eklemenin kullanımı gösterilmektedir:
- REST-API-Common: Temel yapılandırmaya sahip ortak bir teknik profildir.
- REST-ValidateProfile: REST-API-Common teknik profilini içerir ve giriş ve çıkış taleplerini belirtir.
- REST-UpdateProfile: REST-API-Common teknik profilini içerir, giriş taleplerini belirtir ve meta verilerin üzerine yazar
ServiceUrl
.
<ClaimsProvider>
<DisplayName>REST APIs</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="REST-API-Common">
<DisplayName>Base REST API configuration</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://your-app-name.azurewebsites.NET/api/identity</Item>
<Item Key="AuthenticationType">Basic</Item>
<Item Key="SendClaimsIn">Body</Item>
</Metadata>
<CryptographicKeys>
<Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_B2cRestClientId" />
<Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_B2cRestClientSecret" />
</CryptographicKeys>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
<TechnicalProfile Id="REST-ValidateProfile">
<DisplayName>Validate the account and return promo code</DisplayName>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" />
<InputClaim ClaimTypeReferenceId="email" />
<InputClaim ClaimTypeReferenceId="userLanguage" PartnerClaimType="lang" DefaultValue="{Culture:LCID}" AlwaysUseDefaultValue="true" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="promoCode" />
</OutputClaims>
<IncludeTechnicalProfile ReferenceId="REST-API-Common" />
</TechnicalProfile>
<TechnicalProfile Id="REST-UpdateProfile">
<DisplayName>Update the user profile</DisplayName>
<Metadata>
<Item Key="ServiceUrl">https://your-app-name.azurewebsites.NET/api/identity/update</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" />
<InputClaim ClaimTypeReferenceId="email" />
</InputClaims>
<IncludeTechnicalProfile ReferenceId="REST-API-Common" />
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Çok düzeyli ekleme
Teknik profil tek bir teknik profil içerebilir. Ekleme düzeylerinin sayısıyla ilgili bir sınır yoktur. Örneğin, AAD-UserReadUsingAlternativeSecurityId-NoError teknik profili AAD-UserReadUsingAlternativeSecurityId içerir. Bu teknik profil, meta veri öğesini olarak true
ayarlar RaiseErrorIfClaimsPrincipalDoesNotExist
ve dizinde bir sosyal hesap yoksa bir hata oluşturur. AAD-UserReadUsingAlternativeSecurityId-NoError bu davranışı geçersiz kılar ve bu hata iletisini devre dışı bırakır.
<TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId-NoError">
<Metadata>
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">false</Item>
</Metadata>
<IncludeTechnicalProfile ReferenceId="AAD-UserReadUsingAlternativeSecurityId" />
</TechnicalProfile>
AAD-UserReadUsingAlternativeSecurityId teknik profili içerir AAD-Common
.
<TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId">
<Metadata>
<Item Key="Operation">Read</Item>
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
<Item Key="UserMessageIfClaimsPrincipalDoesNotExist">User does not exist. Please sign up before you can sign in.</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="AlternativeSecurityId" PartnerClaimType="alternativeSecurityId" Required="true" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="userPrincipalName" />
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="otherMails" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
</OutputClaims>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
AAD-UserReadUsingAlternativeSecurityId-NoError ve AAD-UserReadUsingAlternativeSecurityId, AAD-Common teknik profilinde belirtildiğinden gerekli Protocol öğesini belirtmez.
<TechnicalProfile Id="AAD-Common">
<DisplayName>Azure Active Directory</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
...
</TechnicalProfile>
Oturum yönetimi için teknik profil kullanma
UseTechnicalProfileForSessionManagement öğesi SSO oturumu teknik profiline başvurur. UseTechnicalProfileForSessionManagement öğesi aşağıdaki özniteliği içerir:
Öznitelik | Zorunlu | Açıklama |
---|---|---|
ReferenceId | Yes | İlke dosyasında veya üst ilke dosyasında zaten tanımlanmış bir teknik profilin tanımlayıcısı. |
Kullanıcı yolculukları için etkinleştirildi
Kullanıcı yolculuğundaki ClaimsProviderSelections , talep sağlayıcısı seçim seçeneklerinin listesini ve bunların siparişini tanımlar. EnabledForUserJourneys öğesiyle, kullanıcının kullanabileceği talep sağlayıcısını filtrelersiniz. EnabledForUserJourneys öğesi aşağıdaki değerlerden birini içerir:
- Her Zaman: Teknik profili yürütür.
- Hiçbir zaman: Teknik profili atlar.
- OnClaimsExistence: Yalnızca teknik profilde belirtilen belirli bir talep mevcut olduğunda yürütülür.
- OnItemExistenceInStringCollectionClaim: Yalnızca dize koleksiyonu talebinde bir öğe mevcut olduğunda yürütülür.
- OnItemAbsenceInStringCollectionClaim: Yalnızca bir öğe dize koleksiyonu taleplerinde mevcut olmadığında yürütülür.
OnClaimsExistence, OnItemExistenceInStringCollectionClaim veya OnItemAbsenceInStringCollectionClaim kullanmak için aşağıdaki meta verileri sağlamanız gerekir:
- ClaimTypeOnWhichToEnable: Değerlendirilecek talebin türünü belirtir.
- ClaimValueOnWhichToEnable: Karşılaştırılacak değeri belirtir.
Aşağıdaki teknik profil yalnızca identityProviders dize koleksiyonu değerini facebook.com
içeriyorsa yürütülür:
<TechnicalProfile Id="UnLink-Facebook-OAUTH">
<DisplayName>Unlink Facebook</DisplayName>
...
<Metadata>
<Item Key="ClaimTypeOnWhichToEnable">identityProviders</Item>
<Item Key="ClaimValueOnWhichToEnable">facebook.com</Item>
</Metadata>
...
<EnabledForUserJourneys>OnItemExistenceInStringCollectionClaim</EnabledForUserJourneys>
</TechnicalProfile>