本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
驗證碼 JavaScript API 規格
本節列出了驗證碼 JavaScript API 的方法和屬性的規範。使用驗證碼 JavaScript API 在您的客戶端應用程序中運行自定義驗證碼難題。
此 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密鑰 CAPTCHA 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