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

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

验证码 API 规范 JavaScript

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

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

AwsWafCaptcha.renderCaptcha(container, configuration)

向最终用户展示 Amazon WAF 验证码拼图,成功后,使用验证码验证更新客户端令牌。这仅在集成了验证码时可用。将此调用与智能威胁一起使用 APIs 来管理令牌检索并在您的fetch通话中提供令牌。请访问以下网址查看智能威胁APIs 智能威胁 API 规范

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

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