我们正在使用 Google Firebase 为我们的应用获取 CrashLytics 数据,以及通过 google-services.json
公开的 API key 。该文件是作为安全问题提出的,因为可以对应用程序 apk 文件进行逆向工程以获取此文件,然后攻击者可以使用该文件将数据发送到我们的 Firebase 帐户。
为了避免这种情况,我们尝试遵循 documentation限制 API key 的使用,使其只能由我们的应用程序使用。这是通过使用包名称和我们应用程序的 keystore 的 SHA1 指纹来限制它来实现的。
但是,当我们对其进行测试时,它并没有按预期工作。我们仍然能够通过具有相同包名的假应用发送崩溃数据,相同 google-services.json
文件,但不同的 keystore 文件。
基于此 question 的公认答案,这种方法应该有效。如果有这方面经验的人可以与我们分享,不胜感激。
最佳答案
你必须去https://console.developers.google.com/apis ,并且在您的项目凭据中,您会看到您的 API 不受限制。按照每个 API 上的屏幕说明进行限制。
关于android - Firebase API key 限制不适用于 Android 应用程序包名称和 SHA1 指纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53942388/