【问题标题】:Android Safetynet Attestation built-in retry logicAndroid Safetynet Attestation 内置重试逻辑
【发布时间】:2019-03-29 06:13:06
【问题描述】:

我的问题是 Google Safetynet 内置了哪些重试逻辑,应用程序中应该构建哪些重试逻辑?构建应用程序级逻辑的最佳实践是什么?

我在 Android 应用程序和 Web 后端服务中使用 Safetynet Attestation。 Safetynet 用于验证数据是否来自安装在有效 Android 设备中的 Android 应用程序,并且消息未被篡改。使用的基本代码来自Safetynet documentation example

在网络连接暂时不可用或 Google Safetynet API 在一段时间内无法访问的情况下,我在设计用于在设备应用程序中获取安全网证明的重试逻辑时遇到问题。

安全网类基于GoogleApi class。 GoogleApi 的文档说已经有一些自动超时/重新连接逻辑。

  • 自动超时并在必要时重新连接

Safetynet 自动内置了哪些逻辑,应用程序开发人员需要构建哪些逻辑?例如请求的超时时间是多少(“自动超时”),可以调整吗?它重试了多少次以及使用什么重试策略(“必要时重新连接”)?

【问题讨论】:

    标签: android google-api google-api-client android-googleapiclient safetynet


    【解决方案1】:

    据我所知,SafetyNet api 对于每个请求只有成功和失败结果的侦听器/回调,它没有内置的重试逻辑。您可以通过它们的 StatusCode(检查 SafetyNetStatusCodes)检查出现在 OnFailureListener 上的错误,并使用您自己的重试逻辑来处理它们。

    【讨论】:

    • 如果安全网api不可用,您知道Android GoogleApi类需要多长时间才能返回OnFailureListener?好像要等很久。您是否在文档中找到有关“自动超时并在必要时重新连接”功能的更多信息?
    • 我认为您可能正在查看旧版本的 API,在新版本上您直接从 SafetyNet 客户端发出请求,而不是从 Google Api。在这里查看文档:developer.android.com/training/safetynet/attestation.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 2015-11-11
    相关资源
    最近更新 更多