【发布时间】:2019-01-19 01:33:25
【问题描述】:
我一直在玩 Firebase,在阅读了文档(和其他 SO 问题)之后,我仍然对一些 API 密钥感到困惑。我将 Firebase 用于分析、Crashlytics 和性能。但也将其链接到 Google Play 和 AdMob。
当我第一次设置它时,在开发者控制台中创建了 3 个 API 密钥。
- 浏览器键(由 Google 服务自动创建)
- Android 密钥(由 Google 服务自动创建)
- 服务器密钥(由 Google 服务自动创建)
我尝试通读文档以查找描述如何使用这些键的位置,但我无法找到它。通过查看 Firebase 应用程序,看起来 Android Key 被用作 Web API Key,Server Key 被用作 Cloud Message Legacy Server Key(虽然,我不使用云消息传递)。我不确定 Firebase 如何使用 Browser Key。
我要做的是尽可能限制这些密钥,以防止任何恶意使用它们。
我添加了以下 API 限制
- 安卓密钥
- Firebase 服务 API
- 服务器密钥
- Firebase 云消息传递 API
- 浏览器密钥
- Firebase 服务 API
我不完全确定这些限制是否适合我使用它们的目的,但至少据我所知,它适用于Android Key 和Server Key。但是,Browser Key 限制似乎不起作用,因为当我重新部署我的应用程序时,Firebase 正在创建一个新的Browser Key。
总结我的问题,我可以看到 Firebase 正在为我自动创建 API 密钥,但我找不到任何文档来讨论这些密钥如何用于我正在使用的 Firebase 的基本功能。我也不完全确定如何限制这些键,尤其是 Browser Key。
【问题讨论】:
-
我也在想同样的事情。 Firebase 似乎会自动创建这些键,如果我更改它们,它们会重新创建。我不喜欢这些键似乎不受我的控制。
-
这里有同样的问题。我也想知道为什么他们生成不受限制的api密钥,似乎有点夸张。
-
你有没有找到问题的答案?
-
我还注意到其中一些 api 密钥出现在 google-services.json 文件中。我不知道该文件是否在已编译的应用程序中,但如果是的话,这将是值得关注的事情
-
我发现那个json文件中的key在apk中被编译为资源:groups.google.com/g/firebase-talk/c/bamCgTDajkw/m/uVEJXjtiBwAJ
标签: android firebase google-developers-console