Görüntüleme denetimleri

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.

Görüntüleme denetimi, özel işlevlere sahip olan ve Azure Active Directory B2C (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. Görüntüleme denetimleri sayfada görüntülenir ve kendinden onaylanan bir teknik profil tarafından başvurulur.

Önkoşullar

Kendinden onaylanan bir teknik profilin Meta Veriler bölümünde, başvuruda bulunan ContentDefinition'ın sayfa sözleşmesi sürüm 2.1.9 veya üzeri olarak ayarlanmış olması DataUri gerekir. Örneğin:

<ContentDefinition Id="api.selfasserted">
  <LoadUri>~/tenant/default/selfAsserted.cshtml</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.9</DataUri>
  ...

Görüntüleme denetimlerini tanımlama

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

Öznitelik Zorunlu Veri Akışı Açıklaması
Id Yes Görüntüleme denetimi için kullanılan bir tanımlayıcı. Buna başvurulabilir.
UserInterfaceControlType Yes Görüntü denetiminin türü. Şu anda VerificationControl, TOTP denetimleri ve CAPTCHA denetimleri desteklenmektedir.

Doğrulama denetimi

Doğrulama görüntüleme denetimi , kullanıcıya gönderilen doğrulama koduyla talepleri (örneğin bir e-posta adresi veya telefon numarası) doğrular. Aşağıdaki görüntüde, birincil ve ikincil e-posta adresini doğrulayan iki görüntüleme denetimine sahip kendi kendine onaylanan bir kaydolma sayfası gösterilmektedir.

Screenshot showing email verification display control

TOTP denetimleri

TOTP görüntüleme denetimleri, Microsoft Authenticator uygulamasıyla TOTP çok faktörlü kimlik doğrulaması sağlayan bir dizi görüntüleme denetimidir. Aşağıdaki görüntüde, üç görüntüleme denetimi içeren bir TOTP kayıt sayfası gösterilmektedir.

Screenshot showing TOTP display controls

QrCodeControl

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

Öğe Oluşum Açıklama
InputClaims 0:1 InputClaims , kullanıcıdan toplanacak taleplerin değerini önceden doldurmada kullanılır. Daha fazla bilgi için bkz . InputClaims öğesi.
DisplayClaims 0:1 DisplayClaims , kullanıcıdan toplanacak talepleri temsil etmek için kullanılır. Daha fazla bilgi için bkz . DisplayClaim öğesi.
OutputClaims 0:1 OutputClaims , bu DisplayControl için geçici olarak kaydedilecek talepleri temsil etmek için kullanılır. Daha fazla bilgi için bkz . OutputClaims öğesi.
Actions 0:1 Eylemler , ön uçta gerçekleşen kullanıcı eylemleri için çağrılacak doğrulama teknik profillerini listelemek için kullanılır.

Giriş talepleri

Görüntüleme denetiminde, sayfada kullanıcıdan toplayacak taleplerin değerini önceden doldurması için InputClaims öğelerini kullanabilirsiniz. Tüm InputClaimsTransformations , bu görüntü denetimine başvuran, kendi kendini onaylayan teknik profilde tanımlanabilir.

Aşağıdaki örnek, zaten mevcut olan adresle doğrulanacak e-posta adresini önceden doldurulur.

<DisplayControl Id="emailControl" UserInterfaceControlType="VerificationControl">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="emailAddress" />
  </InputClaims>
  ...

Talepleri görüntüleme

Her görüntüleme denetimi türü için farklı bir görüntü talepleri, çıkış talepleri ve eylemlerin gerçekleştirilmesi gerekir.

Kendi kendine onaylanan bir teknik profilde tanımlanan görüntü taleplerine benzer şekilde, görüntüleme talepleri de görüntüleme denetimindeki kullanıcıdan toplanacak talepleri temsil edilir. Başvuruda bulunılan ClaimType öğesinin, veya DropdownSingleSelectgibi TextBox Azure AD B2C tarafından desteklenen bir kullanıcı giriş türü için UserInputType öğesini belirtmesi gerekir. Bir Eylem için bir görüntüleme talebi değeri gerekiyorsa, kullanıcıyı söz konusu görüntüleme talebi için bir değer sağlamaya zorlamak için Gerekli özniteliğini true olarak ayarlayın.

Belirli görüntüleme denetimi türleri için belirli görüntüleme talepleri gereklidir. Örneğin VerificationControl türünün görüntü denetimi için VerificationCode gereklidir. Bu gerekli talep için hangi DisplayClaim'in belirlendiğini belirtmek için ControlClaimType özniteliğini kullanın. Örneğin:

<DisplayClaim ClaimTypeReferenceId="otpCode" ControlClaimType="VerificationCode" Required="true" />

Çıkış talepleri

Bir görüntüleme denetiminin çıkış talepleri bir sonraki düzenleme adımına gönderilmez. Bunlar yalnızca geçerli görüntüleme denetimi oturumu için geçici olarak kaydedilir. Bu geçici talepler, aynı görüntüleme denetiminin farklı eylemleri arasında paylaşılabilir.

Çıkış taleplerini bir sonraki düzenleme adımına kadar kabartırmak için, bu görüntü denetimine başvuran, kendi kendine onaylanan gerçek teknik profilin OutputClaims değerini kullanın.

Denetim Eylemlerini görüntüle

Görüntüleme denetiminin Eylemleri , kullanıcı istemci tarafında (tarayıcı) belirli bir eylem gerçekleştirdiğinde Azure AD B2C arka ucunda gerçekleşen yordamlardır. Örneğin, kullanıcı sayfada bir düğme seçtiğinde gerçekleştirilecek doğrulamalar.

Eylem, doğrulama teknik profillerinin listesini tanımlar. Bunlar, görüntüleme denetiminin görüntü taleplerinin bir kısmını veya tümünü doğrulamak için kullanılır. Doğrulama teknik profili, kullanıcı girişini doğrular ve kullanıcıya bir hata döndürebilir. Görüntü denetimi Eylemi'nde ContinueOnError, ContinueOnSuccess ve Preconditions'ı kendi kendine onaylanan bir teknik profildeki teknik profilleri doğrulama yöntemine benzer şekilde kullanabilirsiniz.

Eylemler

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

Öğe Oluşum Açıklama
Action 1:n Yürütülecek eylemlerin listesi.

Eylem

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

Öznitelik Zorunlu Veri Akışı Açıklaması
Id Yes İşlemin türü. Olası değerler: SendCode veya VerifyCode. SendCode değeri kullanıcıya bir kod gönderir. Bu eylem iki doğrulama teknik profili içerebilir: biri kod oluşturmak ve diğeri bunu göndermek için. değeri, VerifyCode kullanıcının giriş metin kutusuna yazdığı kodu doğrular.

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

Öğe Oluşum Açıklama
ValidationClaimsExchange 1:1 Başvuran teknik profilin görünen taleplerinin bir kısmını veya tümünü doğrulamak için kullanılan teknik profillerin tanımlayıcıları. Başvuruda bulunan teknik profilin tüm giriş talepleri, başvuran teknik profilin görüntü taleplerinde görünmelidir.

ValidationClaimsExchange

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

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

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

Öznitelik Zorunlu Veri Akışı Açıklaması
TechnicalProfileReferenceId Yes İlke veya üst ilkede zaten tanımlanmış bir teknik profilin tanımlayıcısı.

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

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

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

Öznitelik Zorunlu Veri Akışı Açıklaması
Type Yes Önkoşul için gerçekleştirilecek denetim veya sorgu türü. Olası değerler: ClaimsExist veya ClaimEquals. ClaimsExist belirtilen talepler kullanıcının geçerli talep kümesinde mevcutsa eylemlerin gerçekleştirilmesi gerektiğini belirtir. ClaimEquals belirtilen talep mevcutsa ve değeri belirtilen değere eşitse eylemlerin gerçekleştirilmesi gerektiğini belirtir.
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
Value 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 öğesinde denetlenecek değeri belirtin.
Action 1:1 Bir düzenleme adımındaki önkoşul denetimi doğruysa yapılması gereken eylem. Eylem değeri olarak ayarlanır SkipThisValidationTechnicalProfileve ilişkili doğrulama teknik profilinin yürütülmemesi gerektiğini belirtir.

Aşağıdaki örnek, Microsoft Entra ID SSPR teknik profilini kullanarak e-posta adresini gönderir ve doğrular.

<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl">
  <InputClaims></InputClaims>
  <DisplayClaims>
    <DisplayClaim ClaimTypeReferenceId="email" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" />
  </DisplayClaims>
  <OutputClaims></OutputClaims>
  <Actions>
    <Action Id="SendCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendCode" />
      </ValidationClaimsExchange>
    </Action>
    <Action Id="VerifyCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-VerifyCode" />
      </ValidationClaimsExchange>
    </Action>
  </Actions>
</DisplayControl>

Aşağıdaki örnek, kullanıcının ön koşullarla mfaType talebi seçimine göre e-posta veya SMS ile bir kod gönderir.

<Action Id="SendCode">
  <ValidationClaimsExchange>
    <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AzureMfa-SendSms">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>mfaType</Value>
          <Value>email</Value>
          <Action>SkipThisValidationTechnicalProfile</Action>
        </Precondition>
      </Preconditions>
    </ValidationClaimsExchangeTechnicalProfile>
    <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendEmail">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>mfaType</Value>
          <Value>phone</Value>
          <Action>SkipThisValidationTechnicalProfile</Action>
        </Precondition>
      </Preconditions>
    </ValidationClaimsExchangeTechnicalProfile>
  </ValidationClaimsExchange>
</Action>

Görüntüleme denetimlerine başvurma

Görüntüleme denetimleri, kendi kendine onaylanan teknik profilin görüntüleme taleplerinde başvurulur.

Örneğin:

<TechnicalProfile Id="SelfAsserted-ProfileUpdate">
  ...
  <DisplayClaims>
    <DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
    <DisplayClaim DisplayControlReferenceId="PhoneVerificationControl" />
    <DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="surName" Required="true" />

Sonraki adımlar

Görüntüleme denetimini kullanma örnekleri için bkz: