Aracılığıyla paylaş


Azure Active Directory B2C özel ilkesinde CAPTCHA teknik profili tanımlama

Önemli

1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.

Uyarı

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

Uyarı

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 (ClaimReferenceId) Gerekli Açıklama
zorluk türü Hayı CAPTCHA sınama türü, Ses veya Görsel (varsayılan).
Azure Bölgesi Evet 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 (ClaimReferenceId) Gerekli Açıklama
meydan okuma dizesi Evet CAPTCHA sınama kodu.

Çıkış talepleri

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

ClaimReferenceId (ClaimReferenceId) Gerekli Açıklama
meydan okuma Kimliği Evet CAPTCHA sınama kodu için benzersiz tanımlayıcı.
meydan okuma dizesi Evet CAPTCHA sınama kodu.
Azure Bölgesi Evet CAPTCHA sınama isteğine hizmet veren hizmet bölgesi.

Meta veriler

Özellik Gerekli Açıklama
Operasyon Evet Değer GetChallenge olmalıdır.
Dağlamak Evet 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 (ClaimReferenceId) Gerekli Açıklama
zorluk türü Hayı CAPTCHA sınama türü, Ses veya Görsel (varsayılan).
meydan okuma Kimliği Evet Oturum doğrulaması için kullanılan CAPTCHA için benzersiz bir tanımlayıcı. GetChallenge çağrısından doldurulur.
captcha Girdi Evet Kullanıcının kullanıcı arabirimindeki sınama metin kutusuna girdiği sınama kodu.
Azure Bölgesi Evet 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 (ClaimReferenceId) Gerekli Açıklama
captcha Girdi Evet 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 (ClaimReferenceId) Gerekli Açıklama
meydan okuma Kimliği Evet Oturum doğrulaması için kullanılan CAPTCHA için benzersiz bir tanımlayıcı.
isCaptchaÇözüldü Evet CAPTCHA sınamasının başarıyla çözüldüğünü gösteren bir bayrak.
sebep Evet Sınamayı çözme girişiminin başarılı olup olmadığını kullanıcıya iletmek için kullanılır.

Meta veriler

Özellik Gerekli Açıklama
Operasyon Evet Değer VerifyChallenge olmalıdır.
Dağlamak Evet 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