验证码 API 规范 JavaScript - Amazon WAFAmazon Firewall Manager、和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

验证码 API 规范 JavaScript

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

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

AwsWafCaptcha.renderCaptcha(container, configuration)

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

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

container

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

必需:是

类型:Element

配置

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

apiKey

启用客户端域权限的加密 API 密钥。使用 Amazon WAF 控制台为您的客户端域生成 API 密钥。一个密钥最多可用于五个域。有关信息,请参阅 管理 JS 验证码 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