Firebase API密钥(又名服务器密钥)和Web API密钥有什么区别?

12

在Firebase控制台的项目设置/常规页面下方的“项目ID”字段下,有一个Web API密钥:

Firebase Web API Key

这个密钥用在哪里?我知道在项目设置/云消息传递下找到的服务器密钥用作授权密钥以调用Firebase控制台:

Server Key

我还注意到在google-services.json文件中有一个“api_key”属性,它有一个“current_key”值,与我提到的两个键都不同。那是什么密钥?

2个回答

7

以下是我在这里的回答:

  • 当前密钥 - 文档中没有明确说明它在哪里使用,然而,在 Firebase 之前使用 google-services.json 的三个服务中(Google Sign-in、Analytics、GCM),我猜测它可能在 Google Sign-in 和 Analytics 之间。正如 @DiegoGiorgini 在这里所提到的:

google-services.json 中的 api_key 值不被 FCM 使用。(它被其他 Firebase 库使用)

因此,它可能是用于单独的非 Firebase 或 Firebase 服务。

  • Web API 密钥 - 我之前没有机会使用过这个。然而,我已经看到其他帖子中经常使用此特定 API 密钥与 Firebase 相关的 Web 应用程序(可能也用于身份验证?),但我不完全确定。

  • 服务器密钥 - 根据文档

授权您的应用服务器访问 Google 服务的服务器密钥,包括通过 Firebase 云消息传递发送消息。


14
这篇回答总结了 Firebase 目前存在的问题:缺乏明确说明每个密钥的用途,以及它是公共的还是私有的,以及它应该在哪里使用。这可能会对 Firebase 开发人员产生重大影响。 - Sam

2
  • current_key(根据 docs)是 Firebase 创建 Android 应用程序时自动生成的 Android 密钥。它不用于控制对后端资源的访问,而是用于在与 Firebase/Google 服务交互时标识您的 Firebase 项目。具体而言,它用于将 API 请求与您的项目相关联以获取配额和计费。

  • Web API 密钥(根据 docs):可以通过将其值传递给多个 API 端点中的 key 查询参数来验证用户,例如,使用电子邮件和密码进行注册或登录、生成刷新令牌等。

  • 服务器密钥(根据 docs):是授权您的应用服务器访问 Google 服务的服务器密钥,包括通过 Firebase 云消息传递旧协议发送消息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接