首页 > 解决方案 > Firebase 中的“可信服务器环境”是什么?

问题描述

Firebase 的文档中经常提到“受信任”和“特权”服务器环境,但没有正式的定义。这些是什么?

如何使我的服务器受信任或具有特权?

标签: firebaseauthenticationfirebase-cloud-messaging

解决方案


虽然“特权”或“受信任”服务器环境不是明确可搜索的(在创建此问答之前),但可以从以下例外情况中推断出来。

FCM setup的文档中,摘录如下:

Firebase 云消息传递的服务器端由两个组件组成:

  • Google 提供的 FCM 后端。

  • 您的应用服务器或运行服务器逻辑的其他受信任的服务器环境,例如 Cloud Functions for Firebase 或由 Google 管理的其他云环境。

您的应用服务器或受信任的服务器环境将消息请求发送到 FCM 后端,然后将消息路由到在用户设备上运行的客户端应用程序。

一般设置的文档中:

Firebase 项目支持 Google 服务帐号,您可以使用这些帐号从您的应用服务器或受信任的环境中调用 Firebase 服务器 API。如果您在本地开发代码或在本地部署应用程序,则可以使用通过此服务帐户获得的凭据来授权服务器请求。

  1. 需要注意的重要一点是,两者都明确表示"app server or trusted environment"这意味着两者是不同的东西。
  2. 此外,可信环境示例的第一个摘录(尽管在语义上有些模棱两可)是"Cloud Functions for Firebase or other cloud environments managed by Google."
  3. 最后,在第二个摘录中是信息"If you're developing code locally or deploying your application on-premises, you can use credentials obtained via this service account to authorize server requests"

从这一切可以推断:

  • 受信任和特权环境通常是谷歌内部的东西,因此本质上是值得信赖的
  • 应用服务器通常是可以访问正确凭据的任何东西
  • 最后,您无需采取任何步骤,只需拥有正确的凭据即可使您的服务器成为“受信任的环境”。它不需要是“受信任的环境”,因为该术语的真正含义是“由 Google 拥有”。

推荐阅读