Firebase API 密钥限制不适用于 Android 应用程序包名称和 SHA1 指纹

Posted

技术标签:

【中文标题】Firebase API 密钥限制不适用于 Android 应用程序包名称和 SHA1 指纹【英文标题】:Firebase API key restriction not working with Android app package name and SHA1 fingerprint 【发布时间】:2019-05-25 07:49:47 【问题描述】:

我们正在使用 Google Firebase 为我们的应用获取 CrashLytics 数据,并且通过 google-services.json 文件公开的 API 密钥作为安全问题提出,因为可以对应用 apk 文件进行逆向工程以获取此文件和然后攻击者可以使用它向我们的 Firebase 帐户发送数据。

为避免这种情况,我们尝试遵循documentation 来限制 API 密钥的使用,使其只能由我们的应用程序使用。这是通过使用包名称和我们应用程序的密钥库的 SHA1 指纹来限制它来实现的。

但是,当我们对其进行测试时,它并没有按预期工作。我们仍然能够通过具有相同包名、相同google-services.json 文件但密钥库文件不同的虚假应用程序发送崩溃数据。

根据这个question 的公认答案,这种方法应该有效。如果有这方面经验的人可以与我们分享,不胜感激。

【问题讨论】:

您找到解决方案了吗? 没有。那时我们放弃了这种方法。已经有一段时间了。不确定 Google Firebase 中是否发生了任何新变化。 【参考方案1】:

您必须转到https://console.developers.google.com/apis,在您的项目凭据中,您会看到您的 API 不受限制。按照每个 API 上的屏幕说明进行限制。

【讨论】:

以上是关于Firebase API 密钥限制不适用于 Android 应用程序包名称和 SHA1 指纹的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 浏览器密钥 API 限制

如果firebase没有身份验证,如何限制API密钥?

浏览器 API 密钥不适用于referer

Firebase 动态链接不适用于发布版本

Firebase 云消息传递 - PHP Rest API 不适用于 iOS

Google API 密钥不适用于 Android