本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
移Amazon WAF动 SDK 规范
本节列出了最新可用版本的Amazon WAF移动 SDK 的 SDK 对象、操作和配置设置。有关令牌提供程序和操作如何处理各种配置设置组合的详细信息,请参阅Amazon WAF移动 SDK 的工作原理。
WAFToken
-
持有Amazon WAF代币。
getValue()
-
检索的
String
表示形式。WAFToken
WAFTokenProvider
-
在您的移动应用程序中管理代币。使用
WAFConfiguration
对象实现这一点。getToken()
-
如果启用了后台刷新,则会返回缓存的令牌。如果禁用了后台刷新,则会对进行同步阻塞调用Amazon WAF以检索新令牌。
onTokenReady(WAFTokenResultCallback)
-
指示令牌提供者刷新令牌并在活动令牌准备就绪时调用提供的回调。当令牌被缓存并准备就绪时,令牌提供者将在后台线程中调用您的回调。当你的应用程序首次加载以及它恢复到活动状态时也要调用这个函数。有关返回活动状态的更多信息,请参阅在应用程序处于非活动状态后检索令牌。
对于 Android 或 iOS 应用程序,您可以设置
WAFTokenResultCallback
为希望令牌提供者在请求的令牌准备就绪时调用的操作。您的实现WAFTokenResultCallback
必须采用参数WAFToken
SdkError
。对于 iOS 应用程序,您可以交替创建内联函数。
WAFConfiguration
-
保存实现的配置
WAFTokenProvider
。实现此操作时,您需要提供 Web ACL 的集成 URL、要在令牌中使用的域名以及您希望令牌提供者使用的任何非默认设置。以下列表指定了可以在
WAFConfiguration
对象中管理的配置设置。applicationIntegrationUrl
-
应用程序集成 URL。从Amazon WAF控制台或通过
getWebACL
API 调用获取。必需:是
类型:应用程序专用网址。对于 iOS,请参阅 iOS 网址
。对于安卓系统,请参阅 java.net 网址 。 backgroundRefreshEnabled
表示您是否希望令牌提供者在后台刷新令牌。如果您设置了此选项,则令牌提供者会根据管理自动令牌刷新活动的配置设置在后台刷新您的令牌。
必需:否
类型:
Boolean
默认值:
TRUE
domainName
-
要在令牌中使用的域名,用于令牌获取和 Cookie 存储。例如,
example.com
或aws.amazon.com
。这通常是与 Web ACL 关联的资源的主机域,您将在其中发送 Web 请求。对于 ACFP 托管规则组AWSManagedRulesACFPRuleSet
,这通常是一个与您在规则组配置中提供的账户创建路径中的域相匹配的单个域。对于 ATP 托管规则组AWSManagedRulesATPRuleSet
,这通常是一个与您在规则组配置中提供的登录路径中的域相匹配的单个域。不允许使用公共后缀。例如,您不能使用
usa.gov
或co.uk
作为令牌域。根据受保护的主机域和 Web ACL 的令牌域列表,该域必须是可以接受的域。Amazon WAF有关更多信息,请参阅配置 Web ACL 令牌域列表:
必需:是
类型:
String
maxErrorTokenRefreshDelayMsec
-
尝试失败后重复令牌刷新之前等待的最长时间(以毫秒为单位)。此值在令牌检索失败且重试
maxRetryCount
次数后使用。必需:否
类型:
Integer
默认值:
5000
(5 秒)允许的最小值:
1
(1 毫秒)允许的最大值:
30000
(30 秒) maxRetryCount
-
请求令牌时使用指数退避执行的最大重试次数。
必需:否
类型:
Integer
默认值:如果启用了背景刷新,则为
5
。否则为3
。允许的最小值:
0
允许的最大值:
10
setTokenCookie
表示您是否希望 SDK 的 Cookie 管理器在您的请求中添加令牌 Cookie。默认情况下,这会向所有请求添加一个令牌 Cookie。Cookie 管理器会向路径位于中指定路径下的任何请求添加令牌 Cookie
tokenCookiePath
。必需:否
类型:
Boolean
默认值:
TRUE
tokenCookiePath
-
在
setTokenCookie
is 时使用TRUE
。表示您希望 SDK 的 Cookie 管理器在其中添加令牌 cookie 的顶级路径。管理员会将令牌 cookie 添加到您发送到此路径的所有请求以及所有子路径。例如,如果您将其设置为
/web/login
,则管理器将包含发送到的所有内容/web/login
及其任何子路径的令牌 cookie,例如/web/login/help
。它不包括发送到其他路径的请求的令牌,例如/
/web
、或/web/order
。必需:否
类型:
String
默认值:
/
tokenRefreshDelaySec
-
用于背景刷新。后台令牌刷新之间的最大间隔时间(以秒为单位)。
必需:否
类型:
Integer
默认值:
88
允许的最小值:
88
允许的最大值:
300
(5 分钟)