【问题标题】:How to add AndroidDebugKey to the Google Cloud API Key Restriction如何将 AndroidDebugKey 添加到 Google Cloud API 密钥限制
【发布时间】:2022-07-01 21:46:42
【问题描述】:

我开发了一个使用 Google 的一些 API(例如 Firebase Cloud Messaging API、Places API...)的 Android 应用。 API 密钥应仅限于我的特定应用程序以及该应用程序使用的所有 Google API 的子集。因此,应该可以只从我的应用程序调用 API,也应该可以只调用一组已定义的 API,而不是全部。

很容易选择 API 的子集。还可以添加允许调用 API 的 Android 应用程序:我需要添加包名称和 SHA1 指纹。所有这些都适用于发布版本。但调试版本使用自动创建的 AndroidDebugKey。所以每个开发者都有她/他自己的 AndroidDebugKey。这如何与 API 限制相互作用?这是否意味着我必须将每个开发人员的每个证书添加到控制台?还是默认忽略AndroidDebugKey?

请看下面我的(德语)截图。

【问题讨论】:

    标签: android security mobile google-api android-signing


    【解决方案1】:

    最简单的方法是在开发人员之间共享调试密钥库,只需在团队成员之间选择 1 个密钥库(或从头开始创建一个)并将其提交到应用的存储库中。

    然后您只需更改您的 gradle 文件以指向此调试密钥库以进行调试构建。例如,如果你选择使用 AS 生成的,你可以有类似的东西:

    android {
        ...
        signingConfigs {
            debug {
                storeFile file("../local-build/debug.keystore")
                storePassword "android"
                keyAlias "androiddebugkey"
                keyPassword "android"
            }
        }
        ...
        buildTypes {
            debug {
                ....
                signingConfig signingConfigs.debug
            }
        }
    }
    

    debug.keystore 足够安全,可以提交,因为 PlayStore 不接受使用此密钥库签名的 APK。

    通过这种方式,您可以解耦他们正在使用的开发人员/机器,您只需在 Google 控制台中添加一个 SHA-1 即可进行本地测试和保护 API。

    注意不要在您的存储库中提交任何用于签署 Play 商店接受的 PROD 和/或 TEST 应用的数据(密钥库和密码)。

    另一种方法是使用经过身份验证的遥控器 代替开发人员签署本地构建的服务,它是 更安全,但设置起来更复杂。

    【讨论】:

      猜你喜欢
      • 2020-03-24
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多