驗證碼 JavaScript API 規格 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

驗證碼 JavaScript API 規格

本節列出了驗證碼 JavaScript API 的方法和屬性的規範。使用驗證碼 JavaScript API 在您的客戶端應用程序中運行自定義驗證碼難題。

此 API 以智慧型威脅 API 為基礎,可用來設定和管理AWS WAF權杖擷取和使用。請參閱智慧型威脅 API 規格

AwsWafCaptcha.renderCaptcha(container, configuration)

向最終用戶提供 AWS WAF CAPTCHA 難題,成功後,使用 CAPTCHA 驗證更新客戶端令牌。這僅適用於與驗證碼集成。將此呼叫與智慧威脅 API 搭配使用,以管理權杖擷取,並在fetch呼叫中提供 Token。請參閱智慧型威脅 API,請參閱智慧型威脅 API 規格

與AWS WAF發送的 CAPTCHA 插頁式不同,通過此方法呈現的 CAPTCHA 拼圖立即顯示拼圖,而無需初始標題屏幕。

container

頁面上Element目標容器元素的物件。這通常是透過呼叫document.getElementById()或來擷取document.querySelector()

必要:是

類型:Element

配置

包含驗證碼配置設置的對象,如下所示

apiKey

啟用用戶端網域權限的加密 API 金鑰。使用AWS WAF主控台產生用戶端網域的 API 金鑰。您最多可以將一個金鑰用於五個網域。如需相關資訊,請參閱 管理 JS 驗證碼 API 的 API 密鑰

必要:是

類型:string

onSuccess: (wafToken: string) => void;

當最終用戶成功完成 CAPTCHA 難題時,使用有效AWS WAF令牌調用。在您傳送至使用 AWS WAF Web ACL 保護之端點的要求中使用 Token。令牌提供證明和最近成功拼圖完成的時間戳。

必要:是

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

當驗證碼操作過程中發生錯誤時,使用錯誤對象調用。

必要:否

CaptchaError類別定義onError 處理常式會提供具有下列類別定義的錯誤類型。

CaptchaError extends Error { kind: "internal_error" | "network_error" | "token_error" | "client_error"; statusCode?: number; }
  • kind— 傳回的錯誤類型。

  • statusCode— HTTP 狀態碼 (如果有的話)。network_error如果錯誤是由 HTTP 錯誤引起的,則使用此選項。

onLoad?: () => void;

當一個新的驗證碼拼圖加載時調用。

必要:否

onPuzzleTimeout?: () => void;

當驗證碼難題在到期前未完成時調用。

必要:否

onPuzzleCorrect?: () => void;

當提供正確答案給驗證碼難題時調用。

必要:否

onPuzzleIncorrect?: () => void;

當提供錯誤的答案給驗證碼難題時調用。

必要:否

defaultLocale

用於驗證碼難題的預設語言環境。驗證碼拼圖的書面說明有阿拉伯文 (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,驗證碼謎題會隱藏語言選擇器。

預設:false

必要:否

類型:boolean

dynamicWidth

如果設定為true,CAPTCHA 難題會變更寬度,以便與瀏覽器視窗寬度相容。

預設:false

必要:否

類型:boolean

skipTitle

如果設定為true,CAPTCHA 拼圖不會顯示拼圖標題標題解決難題。

預設:false

必要:否

類型:boolean