CAPTCHA JavaScript API 规范 - Amazon WAF、Amazon Firewall Manager、Amazon Shield Advanced 和 Amazon Shield 网络安全分析器
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

介绍 Amazon WAF 的全新控制台体验

现在,您可以使用更新后的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息,请参阅 使用更新的控制台体验

CAPTCHA JavaScript API 规范

本节列出了验证码 JavaScript API 的方法和属性的规范。使用验证码 JavaScript API 在您的客户端应用程序中运行自定义的验证码拼图。

此 API 建立在智能威胁 API 的基础上,您可以使用这些 API 来配置和管理 Amazon WAF 令牌的获取和使用。请参阅 智能威胁 API 规范

AwsWafCaptcha.renderCaptcha(container, configuration)

向最终用户展示 Amazon WAF 验证码拼图,成功后,使用验证码验证以更新客户端令牌。这仅在集成了验证码时可用。使用此调用和智能威胁 API 来管理令牌检索并在您的 fetch 调用中提供令牌。请参阅智能威胁 API,网址为 智能威胁 API 规范

与 Amazon WAF 发送的验证码插页式广告不同,通过这种方法显示的验证码拼图会立即显示拼图,而无需初始标题屏幕。

container

页面上目标容器元素的 Element 对象。这通常是通过调用 document.getElementById()document.querySelector() 来检索的。

必需:是

类型:Element

配置

一个包含验证码配置设置的对象,如下所示

apiKey

启用客户端域权限的加密 API 密钥。使用 Amazon WAF 控制台为您的客户端域生成 API 密钥。一个密钥最多可用于五个域。有关信息,请参阅 管理 JS CAPTCHA API 的 API 密钥

必需:是

类型:string

onSuccess: (wafToken: string) => void;

当最终用户成功完成验证码拼图时,使用有效 Amazon WAF 令牌调用。在发送到使用 Amazon WAF 保护包(web ACL)进行保护的端点请求中使用该令牌。该令牌提供了最近成功完成拼图的证明和时间戳。

必需:是

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

在验证码操作期间发生错误时,使用错误对象调用。

必需:否

CaptchaError 类定义onError 处理程序使用以下类定义提供错误类型。

CaptchaError extends Error { kind: "internal_error" | "network_error" | "token_error" | "client_error"; statusCode?: number; }
  • kind:返回的错误类型。

  • statusCode:HTTP 状态码(如果有)。如果错误是由于 HTTP 错误造成的,则 network_error 将使用此选项。

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,则验证码拼图会更改宽度以与浏览器窗口宽度兼容。

默认值:false

必需:否

类型:boolean

skipTitle

如果设置为 true,则验证码拼图不会显示拼图标题完成拼图

默认值:false

必需:否

类型:boolean