Android 上的 AWS 自动生成的 SDK - 时钟偏差修复

AWS Autogenerated SDK on Android - Clock Skew Fix

如何使用 AWS Autogenerated SDK 使用 CognitoCachingCredentialsProvider 和 APIClientFactory 修复 android 应用程序的时钟偏差?

大多数 AWS SDK 调用似乎都会自动修复它——但自动生成的 SDK 调用不会。

我正在寻找与 setTimeOffset 类似的内容 -- 请参阅 https://aws.amazon.com/blogs/mobile/managing-device-time-with-the-aws-mobile-sdks/

更新:或https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#correctClockSkew-property.

终于想通了。如果您解析错误消息,您可以确定设备的偏移量,然后使用:

进行设置
SDKGlobalConfiguration.setGlobalTimeOffset(offset); //in seconds

设置完成后,自动生成的 SDK 将在签署请求时考虑偏移量。

要记住几件事:

  • 确保你的 positive/negative 偏移量正确,我不得不多次 * -1 来更正我的。
  • 我发现我需要同步我的 api 调用(确保一次只调用 1 个),因为确定偏移量所需的数学运算使用任何先前的偏移量来说明时钟在整个过程中多次变化应用程序的生命周期。

文档:https://aws-amplify.github.io/aws-sdk-android/docs/reference/index.html