Поделиться через


Проверка строки вызова CAPTCHA с помощью элемента управления отображением CAPTCHA

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

Используйте элементы управления отображения CAPTCHA для создания строки вызова CAPTCHA, а затем проверьте ее, попросите пользователя ввести то, что они видят или слышат. Чтобы отобразить элемент управления отображением CAPTCHA, вы ссылаетесь на него из самозаверяемого технического профиля, и необходимо задать для параметра метаданных самозаверяющегося технического профиля setting.enableCaptchaChallengeзначение true.

На снимке экрана показан элемент управления отображения CAPTCHA, показанный на странице регистрации:

Снимок экрана: CAPTCHA, как он отображается на странице регистрации.

Страница регистрации загружается с помощью элемента управления отображения CAPTCHA. Затем пользователь вводит символы, которые они видят или слышат. Кнопка "Отправить код проверки" отправляет код проверки в сообщение электронной почты пользователя и не является элементом управления отображением CAPTCHA, но вызывает проверку строки запроса CAPTCHA.

Элементы элемента управления CAPTCHA для отображения

В этой таблице перечислены элементы, которые содержит элемент управления отображения CAPTCHA.

Элемент Обязательно Описание
UserInterfaceControlType (Тип пользовательского интерфейса) Да Значение должно быть CaptchaControl.
InputClaims Да Одно или несколько утверждений, необходимых в качестве входных данных, чтобы указать тип задачи CAPTCHA и однозначно определить проблему.
DisplayClaim Да Утверждения, отображаемые пользователю, например код вызовов CAPTCHA или собранные пользователем, например входные данные кода пользователем
outputClaim нет Любое утверждение, возвращаемое на самозаверяемую страницу после завершения процесса проверки кода CAPTCHA.
Действия Да Элемент управления отображением CAPTCHA содержит два действия, GetChallenge и VerifyChallenge.
Действие GetChallenge создает, а затем отображает код задачи CAPTCHA в пользовательском интерфейсе.
Действие VerifyChallenge проверяет код задачи CAPTCHA, который пользователь вводит.

В следующем коде фрагмента КОДА XML показан пример элемента управления отображения CaptchaProvider:

<DisplayControls>
    ...
    <DisplayControl Id="captchaControlChallengeCode" UserInterfaceControlType="CaptchaControl" DisplayName="Help us beat the bots">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="challengeType" />
        <InputClaim ClaimTypeReferenceId="challengeId" />
      </InputClaims>
    
      <DisplayClaims>
        <DisplayClaim ClaimTypeReferenceId="challengeType" ControlClaimType="ChallengeType" />
        <DisplayClaim ClaimTypeReferenceId="challengeId" ControlClaimType="ChallengeId" />
        <DisplayClaim ClaimTypeReferenceId="challengeString" ControlClaimType="ChallengeString" />
        <DisplayClaim ClaimTypeReferenceId="captchaEntered" ControlClaimType="CaptchaEntered" />
      </DisplayClaims>
    
      <Actions>
        <Action Id="GetChallenge">
          <ValidationClaimsExchange>
            <ValidationClaimsExchangeTechnicalProfile
              TechnicalProfileReferenceId="HIP-GetChallenge" />
          </ValidationClaimsExchange>
        </Action>
    
        <Action Id="VerifyChallenge">
          <ValidationClaimsExchange>
            <ValidationClaimsExchangeTechnicalProfile
              TechnicalProfileReferenceId="HIP-VerifyChallenge" />
          </ValidationClaimsExchange>
        </Action>
      </Actions>
    </DisplayControl>
    ...
</DisplayControls>

Дальнейшие шаги