

**推出 的新主控台體驗 AWS WAF**

您現在可以使用更新後的體驗，在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊，請參閱[使用 主控台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

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

# CAPTCHA JavaScript API 規格
<a name="waf-js-captcha-api-specification"></a>

本節列出 CAPTCHA JavaScript APIs 的方法和屬性規格。使用 CAPTCHA JavaScript APIs 在用戶端應用程式中執行自訂 CAPTCHA 拼圖。

此 API 建置在智慧型威脅 APIs上，您可用來設定和管理 AWS WAF 權杖的取得和使用。請參閱 [智慧型威脅 API 規格](waf-js-challenge-api-specification.md)。

**`AwsWafCaptcha.renderCaptcha(container, configuration)`**  
向最終使用者顯示 AWS WAF CAPTCHA 拼圖，並在成功時以 CAPTCHA 驗證更新用戶端字符。這僅適用於 CAPTCHA 整合。使用此呼叫搭配智慧型威脅 APIs 來管理權杖擷取，並在您的`fetch`呼叫中提供權杖。請參閱 的智慧型威脅 APIs[智慧型威脅 API 規格](waf-js-challenge-api-specification.md)。  
與 AWS WAF 傳送的 CAPTCHA 間質不同，此方法轉譯的 CAPTCHA 拼圖會立即顯示拼圖，無需初始標題畫面。    
**`container`**  
頁面上目標容器元素的`Element`物件。這通常透過呼叫 `document.getElementById()`或 來擷取`document.querySelector()`。  
必要：是  
類型：`Element`  
**組態**  
包含 CAPTCHA 組態設定的物件，如下所示****：    
**`apiKey`**   
啟用用戶端網域許可的加密 API 金鑰。使用 AWS WAF 主控台為您的用戶端網域產生 API 金鑰。您最多可以將一個金鑰用於五個網域。如需相關資訊，請參閱[管理 JS CAPTCHA API 的 API 金鑰](waf-js-captcha-api-key.md)。  
必要：是  
類型：`string`  
**`onSuccess: (wafToken: string) => void;`**   
當最終使用者成功完成 CAPTCHA 拼圖時，使用有效的 AWS WAF 字符呼叫。在您傳送到使用 AWS WAF 保護套件 (Web 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 狀態碼，如果有的話。`network_error` 如果錯誤是由於 HTTP 錯誤所造成，則 會使用此功能。  
**`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`