Azure Active Directory B2C özel ilkesinde doğrulama teknik profili 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.

Doğrulama teknik profili, Microsoft Entra Id veya REST API gibi herhangi bir protokolden gelen sıradan bir teknik profildir. Doğrulama teknik profili, aşağıdaki verilerle çıkış taleplerini veya 4xx HTTP durum kodunu döndürür. Daha fazla bilgi için bkz. hata iletisi döndürme

{
    "version": "1.0.0",
    "status": 409,
    "userMessage": "Your error message"
}

Bir doğrulama teknik profilinin çıkış taleplerinin kapsamı, doğrulama teknik profilini ve doğrulama teknik profillerini çağıran kendi kendini onaylayan teknik profille sınırlıdır. Sonraki düzenleme adımında çıkış taleplerini kullanmak istiyorsanız, çıkış taleplerini doğrulama teknik profilini çağıran kendi kendine onaylanan teknik profile ekleyin.

Doğrulama teknik profilleri ValidationTechnicalProfiles öğesinde göründükleri sırayla yürütülür. Doğrulama teknik profili bir hata oluşturursa veya başarılı olursa, sonraki doğrulama teknik profillerinin yürütülmesinin devam edip etmeyeceğini doğrulama teknik profilinde yapılandırabilirsiniz.

Geçerlilik teknik profili ValidationTechnicalProfile öğesinde tanımlanan önkoşullara göre koşullu olarak yürütülebilir. Örneğin, belirli bir talebin var olup olmadığını veya bir talebin belirtilen değere eşit olup olmadığını de kontrol edebilirsiniz.

Kendi kendine onaylanan bir teknik profil, çıkış taleplerinin bir kısmını veya tümünü doğrulamak için kullanılacak bir doğrulama teknik profili tanımlayabilir. Başvuruda bulunan teknik profilin tüm giriş talepleri, başvuran doğrulama teknik profilinin çıkış taleplerinde görünmelidir.

Not

Doğrulama teknik profillerini yalnızca kendi kendine onaylanan teknik profiller kullanabilir. Kendi kendine onaylanmamış teknik profillerden gelen çıkış taleplerini doğrulamanız gerekiyorsa, doğrulamadan sorumlu teknik profili barındırmak için kullanıcı yolculuğunuzda ek bir düzenleme adımı kullanmayı göz önünde bulundurun.

ValidationTechnicalProfiles

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

Öğe Oluşum Açıklama
ValidationTechnicalProfile 1:n Başvuran teknik profilin çıkış taleplerinin bir kısmını veya tümünü doğrulamak için kullanılacak teknik profil.

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

Öznitelik Zorunlu Açıklama
ReferenceId Yes İlke veya üst ilkede zaten tanımlanmış bir teknik profilin tanımlayıcısı.
ContinueOnError Hayır Bu doğrulama teknik profili bir hata oluşturursa sonraki doğrulama teknik profillerinin doğrulanmasına devam edilip edilmeyeceğini belirtir. Olası değerler: true veya false (varsayılan olarak, diğer doğrulama profillerinin işlenmesi durur ve bir hata döndürülür).
ContinueOnSuccess Hayır Bu doğrulama teknik profili başarılı olursa sonraki doğrulama profillerini doğrulamanın devam edip etmeyeceğini belirtir. Olası değerler: true veya false. Varsayılan değer olan true, başka doğrulama profillerinin işlenmesinin devam edeceği anlamına gelir.

Not

Şu anda ClaimsTransformation türünde bir doğrulama teknik profili için ContinueOnError değerini false olarak ayarlarsanız, teknik profil ayarı kabul etmez. Bu sorunun üstesinden gelmek için önkoşulları kullanın.

ValidationTechnicalProfile öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Açıklama
Ön koşullar 0:1 Doğrulama teknik profilinin yürütülmesi için karşılanması gereken önkoşulların listesi.

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

Öznitelik Zorunlu Veri Akışı Açıklaması
Type Yes Önkoşul için gerçekleştirilecek denetim veya sorgu türü. ClaimsExist Belirtilen talepler kullanıcının geçerli talep kümesinde mevcutsa eylemlerin gerçekleştirilmesini sağlamak için belirtilir veya ClaimEquals belirtilen talep mevcutsa ve değeri belirtilen değere eşitse eylemlerin gerçekleştirilmesi gerektiği belirtilir.
ExecuteActionsIf Yes Ön koşuldaki eylemlerin test doğru veya yanlış olduğunda gerçekleştirilip gerçekleştirilmeyeceğini gösterir.

Önkoşul öğesi aşağıdaki öğeleri içerir:

Öğe Oluşum Açıklama
Değer 1:n Denetim tarafından kullanılan veriler. Bu denetimin türü ise ClaimsExist, bu alan sorgu için bir ClaimTypeReferenceId belirtir. Denetimin türü ise ClaimEquals, bu alan sorgu için bir ClaimTypeReferenceId belirtir. Başka bir değer öğesi denetlenecek değeri içerir.
Eylem 1:1 Bir düzenleme adımındaki önkoşul denetimi doğruysa yapılması gereken eylem. Eylemin değeri olarak SkipThisValidationTechnicalProfileayarlanır. İlişkili doğrulama teknik profilinin yürütülmemesi gerektiğini belirtir.

Örnek

Aşağıdaki örnek şu doğrulama teknik profillerini kullanır:

  1. İlk doğrulama teknik profili kullanıcı kimlik bilgilerini denetler ve geçersiz kullanıcı adı veya hatalı parola gibi bir hata oluşursa devam etmez.
  2. Bir sonraki doğrulama teknik profili, userType talebi yoksa veya userType değeri ise yürütülmüyor.Partner Doğrulama teknik profili, iç müşteri veritabanından kullanıcı profilini okumaya çalışır ve REST API hizmeti kullanılamıyor veya herhangi bir iç hata gibi bir hata oluşursa devam eder.
  3. Son doğrulama teknik profili, userType talebi mevcut değilse veya userType değeri ise Customeryürütülmüyor. Doğrulama teknik profili, iç iş ortağı veritabanından kullanıcı profilini okumaya çalışır ve REST API hizmeti kullanılamıyor veya herhangi bir iç hata gibi bir hata oluşursa devam eder.
<ValidationTechnicalProfiles>
  <ValidationTechnicalProfile ReferenceId="login-NonInteractive" ContinueOnError="false" />
  <ValidationTechnicalProfile ReferenceId="REST-ReadProfileFromCustomersDatabase" ContinueOnError="true" >
    <Preconditions>
      <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
        <Value>userType</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
      <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
        <Value>userType</Value>
        <Value>Partner</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
    </Preconditions>
  </ValidationTechnicalProfile>
  <ValidationTechnicalProfile ReferenceId="REST-ReadProfileFromPartnersDatabase" ContinueOnError="true" >
    <Preconditions>
      <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
        <Value>userType</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
      <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
        <Value>userType</Value>
        <Value>Customer</Value>
        <Action>SkipThisValidationTechnicalProfile</Action>
      </Precondition>
    </Preconditions>
  </ValidationTechnicalProfile>
</ValidationTechnicalProfiles>