Firebase API密钥(a.k.a服务器密钥)和Web API密钥之间有什么区别?

时间:2016-10-27 08:46:08

标签: firebase api-key firebase-console

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

Firebase Web API Key

这在哪里使用?我知道在Project Settings / Cloud Messaging下找到的Server密钥用作授权密钥来调用firebase控制台:

Server Key

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

2 个答案:

答案 0 :(得分:3)

从我的回答here

  • 当前密钥 - 在使用它的文档中的任何位置都没有明确说明,但是,在Firebase之前最初使用google-services.json的3个服务中( Google)登录,分析,GCM ),我猜它将介于Google登录和Google Analytics之间。正如@DiegoGiorgini here提到的那样:
  

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

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

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

  • 服务器密钥 - 根据docs

  

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

答案 1 :(得分:0)

  • current_key(根据 docs)是 Firebase 在创建 Firebase Android 应用时自动创建的 Android 密钥。它不用于控制对后端资源的访问。相反,它用于在与 Firebase/Google 服务交互时识别您的 Firebase 项目。具体来说,它用于将 API 请求与您的项目相关联以进行配额和计费。

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

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