直接从移动应用程序或通过后端服务器访问 firestore?

dee*_*y42 5 architecture model-view-controller system-design firebase google-cloud-firestore

系统设计问题:

我在我的移动应用程序中使用 firebase,以 firestore 作为数据库,以 firebase 函数作为后端。

我是否:

  1. 直接从移动应用程序访问 firestore
  2. 只允许通过中间件/后端服务器间接访问(例如 firebase 函数)

我正在从系统设计的角度寻求指导,两种选择中哪一种更好。传统上,我认为直接从客户端访问数据库会让人皱眉,但在官方 firestore 文档中,谷歌似乎实际上鼓励直接访问,而不需要任何后端服务器。

小智 1

这两种 Firebase 数据库产品都设计用于在客户端上使用。其杀手级功能之一是自动实时同步更改。所以它肯定是要被客户端消费的。这并不是说您也不能从服务器消费。但这一切都是为了有效地设置规则,以便您可以从客户端进行查询。如果您想保护数据库,则需要使用Firebase Auth 。一些相关文档的链接。

Firestore 安全规则 用于查询的一些安全规则示例

Firebase 身份验证

如果您已经有了身份验证方法并且无法迁移到 Firebase Auth,您可以使用自定义身份验证,当您对人员进行身份验证时,您可以使用 Firebase 令牌向他们颁发该令牌,您可以在应用程序中使用该令牌登录他们。