AWS WAF 移动软件开发工具包规范 - AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced

AWS WAF 移动软件开发工具包规范

本节列出了最新可用版本的 AWS WAF 移动软件开发工具包的软件开发工具包对象、操作和配置设置。有关令牌提供程序和操作如何处理各种配置设置组合的详细信息,请参阅 AWS WAF 移动软件开发工具包的工作原理

WAFToken

持有 AWS WAF 令牌。

getValue()

检索 WAFTokenString 表示形式。

WAFTokenProvider

在您的移动应用程序中管理令牌。使用 WAFConfiguration 对象实施此目的。

getToken()

如果启用了后台刷新,则会返回缓存的令牌。如果禁用了后台刷新,则会对 AWS WAF 进行同步阻塞调用以检索新令牌。

onTokenReady(WAFTokenResultCallback)

指示令牌提供程序刷新令牌并在活动令牌准备就绪时调用提供的回调。当令牌被缓存并准备就绪时,令牌提供程序将在后台线程中调用您的回调。在应用程序首次加载和恢复活动状态时调用此函数。有关返回活动状态的更多信息,请参阅 在应用程序处于非活动状态后检索令牌

对于 Android 或 iOS 应用程序,您可以设置 WAFTokenResultCallback 为希望令牌提供程序在请求的令牌准备就绪时调用的操作。您的 WAFTokenResultCallback 实施必须采用参数 WAFTokenSdkError。对于 iOS 应用程序,您可以交替创建内联函数。

storeTokenInCookieStorage(WAFToken)

指示 WAFTokenProvider 将指定的 AWS WAF 令牌存储到软件开发工具包的 Cookie 管理器中。默认情况下,只有在首次获取令牌和刷新令牌时,才会将其添加到 Cookie 存储中。如果应用程序出于任何原因清除了共享 Cookie 存储,则在下次刷新之前,软件开发工具包不会自动重新添加 AWS WAF 令牌。

WAFConfiguration

保存 WAFTokenProvider 实施的配置。实施此操作时,您需要提供 Web ACL 的集成 URL、要在令牌中使用的域名以及您希望令牌提供程序使用的任何非默认设置。

以下列表指定了可以在 WAFConfiguration 对象中管理的配置设置。

applicationIntegrationUrl

应用程序集成 URL。从 AWS WAF 控制台或通过 getWebACL API 调用获取。

必需:是

类型:应用程序专用 URL。对于 iOS,请参阅 iOS URL。对于 Android 系统,请参阅 java.net URL

backgroundRefreshEnabled

表示您是否希望令牌提供程序在后台刷新令牌。如果您设置了此选项,则令牌提供程序会根据管理自动令牌刷新活动的配置设置在后台刷新您的令牌。

必需:否

类型:Boolean

默认值:TRUE

domainName

要在令牌中使用的域名,用于令牌获取和 Cookie 存储。例如,example.comaws.amazon.com。这通常是与 Web ACL 关联的资源的主机域,您将在其中发送 Web 请求。对于 ACFP 托管规则组 AWSManagedRulesACFPRuleSet,这通常是一个与您在规则组配置中提供的账户创建路径中的域相匹配的单个域。对于 ATP 托管规则组 AWSManagedRulesATPRuleSet,这通常是一个与您在规则组配置中提供的登录路径中的域相匹配的单个域。

不允许使用公共后缀。例如,您不能使用 gov.auco.uk 作为令牌域。

根据受保护的主机域和 Web ACL 的令牌域列表,该域必须是 AWS WAF 可以接受的域。有关更多信息,请参阅 AWS WAF Web ACL 令牌域列表配置

必需:是

类型:String

maxErrorTokenRefreshDelayMsec

尝试失败后,重复令牌刷新之前等待的最长时间(以毫秒为单位)。此值在令牌检索失败且重试 maxRetryCount 次后使用。

必需:否

类型:Integer

默认值:5000(5 秒)

允许的最小值:1(1 毫秒)

允许的最大值:30000(30 秒)

maxRetryCount

请求令牌时使用指数回退执行的最大重试次数。

必需:否

类型:Integer

默认值:如果启用了背景刷新,则为 5。否则为 3

允许的最小值:0

允许的最大值:10

setTokenCookie

表示您是否希望软件开发工具包的 Cookie 管理器在您的请求中添加令牌 Cookie。默认情况下,这会向所有请求添加一个令牌 Cookie。Cookie 管理器会向任何路径在 tokenCookiePath 中指定的路径之下的请求添加令牌 Cookie。

必需:否

类型:Boolean

默认值:TRUE

tokenCookiePath

setTokenCookieTRUE 时使用。表示您希望软件开发工具包的 Cookie 管理器在其中添加令牌 Cookie 的顶级路径。管理员会将令牌 Cookie 添加到您发送到该路径的所有请求以及所有子路径中。

例如,如果您将其设置为 /web/login,则管理器将包含发送到 /web/login 的所有内容及其任何子路径的令牌 Cookie,例如 /web/login/help。它不包括发送到其他路径的请求的令牌,例如 //web/web/order

必需:否

类型:String

默认值:/

tokenRefreshDelaySec

用于背景刷新。后台令牌刷新之间的最长时间(以秒为单位)。

必需:否

类型:Integer

默认值:88

允许的最小值:88

允许的最大值:300(5 分钟)