CAPTCHA JavaScript API 사양 - AWS WAF, AWS Firewall Manager 및 AWS Shield Advanced

CAPTCHA JavaScript API 사양

이 섹션에는 CAPTCHA JavaScript API의 메서드 및 속성에 대한 사양이 나열되어 있습니다. CAPTCHA JavaScript API를 사용하여 클라이언트 애플리케이션에서 사용자 지정 CAPTCHA 퍼즐을 실행합니다.

이 API는 AWS WAF 토큰 획득 및 사용을 구성 및 관리하는 데 사용하는 지능형 위협 API에 기반합니다. 지능형 위협 API 사양 섹션을 참조하세요.

AwsWafCaptcha.renderCaptcha(container, configuration)

최종 사용자에게 AWS WAF CAPTCHA 퍼즐을 제시하고, 성공하면 CAPTCHA 검증으로 클라이언트 토큰을 업데이트합니다. 이 방법은 CAPTCHA 통합에서만 사용할 수 있습니다. 이 호출을 지능형 위협 API와 함께 사용하여 토큰 검색을 관리하고 fetch 호출에 토큰을 제공합니다. 지능형 위협 API 사양에서 지능형 위협 API를 참조하세요.

AWS WAF에서 전송하는 CAPTCHA 중간 광고와 달리, 이 방법으로 렌더링되는 CAPTCHA 퍼즐은 초기 제목 화면 없이 퍼즐을 즉시 표시합니다.

container

페이지에 있는 대상 컨테이너 요소의 Element 객체입니다. 이는 일반적으로 document.getElementById() 또는 document.querySelector() 호출을 통해 검색됩니다.

필수 여부: 예

유형: Element

구성

다음과 같은 CAPTCHA 구성 설정이 포함된 객체입니다.

apiKey

클라이언트 도메인에 대한 권한을 활성화하는 암호화된 API 키입니다. AWS WAF 콘솔을 사용하여 클라이언트 도메인용 API 키를 생성합니다. 최대 5개의 도메인에 대해 1개 키를 사용할 수 있습니다. 자세한 내용은 JS CAPTCHA API의 API 키 관리 섹션을 참조하세요.

필수 여부: 예

유형: string

onSuccess: (wafToken: string) => void;

최종 사용자가 CAPTCHA 퍼즐을 성공적으로 완료하면 유효한 AWS WAF 토큰을 사용하여 호출됩니다. AWS WAF 웹 ACL로 보호하는 엔드포인트에 보내는 요청에 토큰을 사용합니다. 토큰은 가장 최근에 퍼즐을 성공적으로 완료했다는 증거와 타임스탬프를 제공합니다.

필수 여부: 예

onError?: (error: CaptchaError) => void;

CAPTCHA 작업 중에 오류가 발생하면 오류 객체와 함께 호출됩니다.

필수 항목 여부: 아니요

CaptchaError 클래스 정의 - onError 핸들러는 다음 클래스 정의와함께 오류 유형을 제공합니다.

CaptchaError extends Error { kind: "internal_error" | "network_error" | "token_error" | "client_error"; statusCode?: number; }
  • kind - 반환된 오류의 종류.

  • statusCode - HTTP 상태 코드(있는 경우). 이러한 클래스는 HTTP 오류로 인해 오류가 발생한 network_error에서 사용됩니다.

onLoad?: () => void;

새 CAPTCHA 퍼즐이 로드될 때 호출됩니다.

필수 항목 여부: 아니요

onPuzzleTimeout?: () => void;

CAPTCHA 퍼즐이 만료되기 전에 완료되지 않을 때 호출됩니다.

필수 항목 여부: 아니요

onPuzzleCorrect?: () => void;

CAPTCHA 퍼즐에 정답이 제공될 때 호출됩니다.

필수 항목 여부: 아니요

onPuzzleIncorrect?: () => void;

CAPTCHA 퍼즐에 오답이 제공될 때 호출됩니다.

필수 항목 여부: 아니요

defaultLocale

CAPTCHA 퍼즐에 사용할 기본 로케일입니다. CAPTCHA 퍼즐에 대한 서면 지침이 아랍어(ar-SA), 중국어 간체(zH-CN), 네덜란드어(nl-NL), 영어(en-US), 프랑스어(fr-FR), 독일어(de-DE), 이탈리아어(it-IT), 일본어(Ja-JP), 포르투갈어(Pt-Br), 스페인어(es-ES) 및 터키어(tr-TR)로 제공됩니다. 오디오 지침은 기본적으로 영어로 설정된 중국어와 일본어를 제외한 모든 서면 언어에 사용할 수 있습니다. 기본 언어를 변경하려면 국제 언어 및 로케일 코드를 입력합니다(예: ar-SA).

기본값: 최종 사용자의 브라우저에서 현재 사용 중인 언어

필수 항목 여부: 아니요

유형: string

disableLanguageSelector

true로 설정하면 CAPTCHA 퍼즐이 언어 선택기를 숨깁니다.

기본값: false

필수 항목 여부: 아니요

유형: boolean

dynamicWidth

true로 설정하면 CAPTCHA 퍼즐의 너비가 브라우저 창 너비와 호환되도록 너비가 변경됩니다.

기본값: false

필수 항목 여부: 아니요

유형: boolean

skipTitle

true로 설정하면 CAPTCHA 퍼즐에 퍼즐 풀기라는 제목이 표시되지 않습니다.

기본값: false

필수 항목 여부: 아니요

유형: boolean