Firebase中的什么是“受信任的服务器环境”?

时间:2019-05-06 16:13:38

标签: firebase authentication firebase-cloud-messaging

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

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

2 个答案:

答案 0 :(得分:1)

虽然无法显式地搜索“特权”或“可信”服务器环境(在创建此问与答之前),但可以从以下内容中推断出这一点。

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

  

Firebase Cloud Messaging的服务器端包含两个组件:

     
      
  • Google提供的FCM后端。

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

  •   
     

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

general setup的文档中:

  

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内部的事物,因此本质上值得信赖
  • 应用服务器通常是有权访问正确凭据的任何东西
  • 最后,除了拥有正确的凭据之外,您无需采取任何其他步骤即可使服务器成为“受信任的环境”。它不一定是“受信任的环境”,因为该术语的真正含义是“由Google拥有”。

答案 1 :(得分:0)

受信任的环境是您控制在其上运行什么代码的环境。在使用Firebase构建的应用程序的上下文中,这使它们与常规应用程序所运行的设备区分开来,因为恶意用户可以获取您的应用程序配置数据并以此来运行自己的代码。

我经常将可信环境解释为:

  1. 您的开发机器,因为您通常是唯一从事此工作的人。
  2. 您控制的服务器(或VM,容器等)。只有您(和您信任的人)才有权访问服务器,因此共享服务器不适合。
  3. 云功能,因为只有Firebase项目上的协作者才能在其中部署代码。