firebase - Firebase 中的“可信服务器环境”是什么?
问题描述
Firebase 的文档中经常提到“受信任”和“特权”服务器环境,但没有正式的定义。这些是什么?
如何使我的服务器受信任或具有特权?
解决方案
虽然“特权”或“受信任”服务器环境不是明确可搜索的(在创建此问答之前),但可以从以下例外情况中推断出来。
在FCM setup的文档中,摘录如下:
Firebase 云消息传递的服务器端由两个组件组成:
Google 提供的 FCM 后端。
您的应用服务器或运行服务器逻辑的其他受信任的服务器环境,例如 Cloud Functions for Firebase 或由 Google 管理的其他云环境。
您的应用服务器或受信任的服务器环境将消息请求发送到 FCM 后端,然后将消息路由到在用户设备上运行的客户端应用程序。
在一般设置的文档中:
Firebase 项目支持 Google 服务帐号,您可以使用这些帐号从您的应用服务器或受信任的环境中调用 Firebase 服务器 API。如果您在本地开发代码或在本地部署应用程序,则可以使用通过此服务帐户获得的凭据来授权服务器请求。
- 需要注意的重要一点是,两者都明确表示
"app server or trusted environment"
这意味着两者是不同的东西。 - 此外,可信环境示例的第一个摘录(尽管在语义上有些模棱两可)是
"Cloud Functions for Firebase or other cloud environments managed by Google."
- 最后,在第二个摘录中是信息
"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 拥有”。
推荐阅读
- javascript - 如何更改网页中的文字大小?
- python - 使用 Pytorch 的基类“nn.Linear”类实现简单单层 RNN 的难度
- python - MATPLOTLIB - 多个条形的条形标题
- java - 我一直在尝试使用 java 从 json 数据生成 QRcode 图像,无法在 Qrcode 图像中编码值
- pandas - 在 Binder 中安装 Pandas for Jupyter notebook
- python-3.x - google-api-python-client : 生成 oauth URL
- ruby-on-rails - 如何使用自定义名称设置此 inverse_of 关联
- swift - UIImagePickerControllerDelegate 没有成员“代表”
- javascript - VSCode 扩展将 Markdown 作为富文本复制到剪贴板
- git - 在 Android Studio 中克隆失败:环境变量值 GIT_ASKPASS_TOKEN 的值非法