【发布时间】:2017-07-08 05:22:29
【问题描述】:
Firebase 在 Google API 控制台上为我创建了一个 API 密钥。在那里我添加了一个限制,使其只能由具有特定包名称和指纹的 Android 应用程序使用。
但是我仍然可以使用具有不同包名称的密钥(我更改了 Gradle 的应用程序 ID)。有什么问题?
【问题讨论】:
标签: firebase google-api
Firebase 在 Google API 控制台上为我创建了一个 API 密钥。在那里我添加了一个限制,使其只能由具有特定包名称和指纹的 Android 应用程序使用。
但是我仍然可以使用具有不同包名称的密钥(我更改了 Gradle 的应用程序 ID)。有什么问题?
【问题讨论】:
标签: firebase google-api
Firebase 不会尝试根据主机应用的应用 ID 或签名哈希来限制实时数据库的使用。当您在控制台中创建新的 Android 应用时,您会注意到签名密钥文本字段下的以下文本:
动态链接、邀请和 Google 登录支持所必需的 授权。在“设置”中编辑 SHA-1。
这些是唯一受应用 ID 和签名哈希影响的 Firebase 功能。需要应用程序 ID 的原因是帮助 Gradle 插件将 google-services.json 文件匹配到为其构建的应用程序。这不是安全措施。
如果您在 build.gradle 中更改了您的应用程序 ID,但没有创建新应用并下载新的 google-services.json 文件,您的构建应该会失败并显示以下消息:
找不到与包名称“your.new.package.name”匹配的客户端
【讨论】: