Aracılığıyla paylaş


Azure Active Directory B2C özel ilkesinde CAPTCHA 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.

Bilgisayara ve İnsana Ayrı (CAPTCHA) Teknik Profillerini Bildirmek için Tamamen Otomatik Genel Turing Testleri, Azure Active Directory B2C'nin (Azure AD B2C) otomatik saldırıları önlemesini sağlar. Azure AD B2C'nin CAPTCHA teknik profili hem ses hem de görsel CAPTCHA zorluk türlerini destekler.

Protokol

Protocol öğesinin Name özniteliği olarak ayarlanmalıdırProprietary. İşleyici özniteliği, CAPTCHA için Azure AD B2C tarafından kullanılan protokol işleyicisi derlemesinin tam adını içermelidir:Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

Not

Bu özellik genel önizleme aşamasındadır

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

<TechnicalProfile Id="HIP-GetChallenge">
  <DisplayName>Email signup</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

CAPTCHA teknik profil işlemleri

CAPTCHA teknik profil işlemlerinin iki işlemi vardır:

  • Alma sınaması işlemi CAPTCHA kod dizesini oluşturur ve ardından bir CAPTCHA görüntüleme denetimi kullanarak bunu kullanıcı arabiriminde görüntüler. Ekranda bir giriş metin kutusu bulunur. Bu işlem, kullanıcıyı gördüğü veya duyduğu karakterleri giriş metin kutusuna girmeye yönlendirir. Kullanıcı gerektiğinde görsel ve sesli sınama türleri arasında geçiş yapabilir.

  • Kod işleminin kullanıcı tarafından girişi yapılan karakterleri doğruladığını doğrulayın.

Sınama alma

İlk işlem CAPTCHA kod dizesini oluşturur ve kullanıcı arabiriminde görüntüler.

Giriş talepleri

InputClaims öğesi, Azure AD B2C'nin CAPTCHA hizmetine gönderilecek taleplerin listesini içerir.

ClaimReferenceId Zorunlu Açıklama
challengeType Hayır CAPTCHA sınama türü, Ses veya Görsel (varsayılan).
azureregion Yes CAPTCHA sınama isteğine hizmet veren hizmet bölgesi.

Talepleri görüntüleme

DisplayClaims öğesi, kullanıcının görmesi için ekranda sunulacak taleplerin listesini içerir. Örneğin, kullanıcıya okuması için CAPTCHA sınama kodu sunulur.

ClaimReferenceId Zorunlu Açıklama
challengeString Yes CAPTCHA sınama kodu.

Çıkış talepleri

OutputClaims öğesi, CAPTCHA teknik profili tarafından döndürülen taleplerin listesini içerir.

ClaimReferenceId Zorunlu Açıklama
challengeId Yes CAPTCHA sınama kodu için benzersiz tanımlayıcı.
challengeString Yes CAPTCHA sınama kodu.
azureregion Yes CAPTCHA sınama isteğine hizmet veren hizmet bölgesi.

Meta veri

Öznitelik Zorunlu Açıklama
Operation Yes Değer GetChallenge olmalıdır.
Marka Yes Değer HIP olmalıdır.

Örnek: CAPTCHA kodu oluşturma

Aşağıdaki örnekte, kod oluşturmak için kullandığınız bir CAPTCHA teknik profili gösterilmektedir:

<TechnicalProfile Id="HIP-GetChallenge">
  <DisplayName>GetChallenge</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

  <Metadata>
    <Item Key="Operation">GetChallenge</Item>
    <Item Key="Brand">HIP</Item>
  </Metadata>

  <InputClaims>
    <InputClaim ClaimTypeReferenceId="challengeType" />
  </InputClaims>

  <DisplayClaims>
    <DisplayClaim ClaimTypeReferenceId="challengeString" />
  </DisplayClaims>

  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="challengeId" />
    <OutputClaim ClaimTypeReferenceId="challengeString" PartnerClaimType="ChallengeString" />
    <OutputClaim ClaimTypeReferenceId="azureregion" />
  </OutputClaims>

</TechnicalProfile>

Sınamayı doğrulama

İkinci işlem CAPTCHA sınamasını doğrular.

Giriş talepleri

InputClaims öğesi, Azure AD B2C'nin CAPTCHA hizmetine gönderilecek taleplerin listesini içerir.

ClaimReferenceId Zorunlu Açıklama
challengeType Hayır CAPTCHA sınama türü, Ses veya Görsel (varsayılan).
challengeId Yes Oturum doğrulaması için kullanılan CAPTCHA için benzersiz bir tanımlayıcı. GetChallenge çağrısından doldurulur.
captchaEntered Yes Kullanıcının kullanıcı arabirimindeki sınama metin kutusuna girdiği sınama kodu.
azureregion Yes CAPTCHA sınama isteğine hizmet veren hizmet bölgesi. GetChallenge çağrısından doldurulur.

Talepleri görüntüleme

DisplayClaims öğesi, kullanıcıdan bir giriş toplamak için ekranda sunulacak taleplerin listesini içerir.

ClaimReferenceId Zorunlu Açıklama
captchaEntered Yes Kullanıcı tarafından girilen CAPTCHA sınama kodu.

Çıkış talepleri

OutputClaims öğesi, captcha teknik profili tarafından döndürülen taleplerin listesini içerir.

ClaimReferenceId Zorunlu Açıklama
challengeId Yes Oturum doğrulaması için kullanılan CAPTCHA için benzersiz bir tanımlayıcı.
isCaptchaSolved Yes CAPTCHA sınamasının başarıyla çözüldüğünü gösteren bir bayrak.
reason Yes Sınamayı çözme girişiminin başarılı olup olmadığını kullanıcıya iletmek için kullanılır.

Meta veri

Öznitelik Zorunlu Açıklama
Operation Yes Değer VerifyChallenge olmalıdır.
Marka Yes Değer HIP olmalıdır.

Örnek: CAPTCHA kodunu doğrulama

Aşağıdaki örnekte, CAPTCHA kodunu doğrulamak için kullandığınız bir CAPTCHA teknik profili gösterilmektedir:

  <TechnicalProfile Id="HIP-VerifyChallenge">
    <DisplayName>Verify Code</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
      <Item Key="Brand">HIP</Item>
      <Item Key="Operation">VerifyChallenge</Item>
    </Metadata>

    <InputClaims>
      <InputClaim ClaimTypeReferenceId="challengeType" DefaultValue="Visual" />
      <InputClaim ClaimTypeReferenceId="challengeId" />
      <InputClaim ClaimTypeReferenceId="captchaEntered" PartnerClaimType="inputSolution" Required="true" />
      <InputClaim ClaimTypeReferenceId="azureregion" />
    </InputClaims>

    <DisplayClaims>
      <DisplayClaim ClaimTypeReferenceId="captchaEntered" />
    </DisplayClaims>

    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="challengeId" />
      <OutputClaim ClaimTypeReferenceId="isCaptchaSolved" PartnerClaimType="solved" />
      <OutputClaim ClaimTypeReferenceId="reason" PartnerClaimType="reason" />
    </OutputClaims>

  </TechnicalProfile>

Sonraki adımlar