使用 Firebase 和 Flutter 的多租户 SaaS 应用

Dav*_*d L 8 android multi-tenant firebase flutter

我正在评估 Firebase 以在 SaaS 模式下开发一个应用程序,来自多个公司的人员可以访问它。公司中的每个人都应该只访问他们公司的数据,而不能访问其他公司的数据。同样在公司内部,可以定义每个人可以访问的内容和不可以访问的内容的配置文件。

  1. Firebase 文档建议不要使用多租户方法 ( https://firebase.google.com/docs/projects/learn-more )。他的建议是为每家公司管理一个 Firebase 项目。我的疑惑:这真的有必要吗?是否涉及在 PlayStores 中管理不同的应用程序?Firebase 项目可以以编程方式创建吗?

  2. 另一方面,Google Cloud 推出了允许多租户的 GCIP 身份验证服务(https://cloud.google.com/identity-platform/docs/multi-tenancy-authentication)。我的疑问是: 1. 要将其与 Firebase 一起使用,我是否必须创建比 Firebase 和 Flutter 更复杂的后端服务?2. 是否可以在不丢失 Firebase 提供的离线访问属性的情况下使用此服务?

谢谢,

大卫

小智 1

我可能有一个可能的解决方案{我已经部分尝试过}

创建主 API 支持 - 管理主 API 中的所有常见特性/功能

例如:CIM - 客户信息管理 UCID - 唯一客户 ID {基于 mobileno+OTP} 客户端 ID - {ClientA,B,K,Y} 这意味着 UCID 属于这些客户端应用程序

ClientAPP - 为每个客户端单独构建{在其应用商店中发布} ClientApp ID - 001 注册/登录 - 检查 mobileno 是否在 ClientID 端点 API 中注册 - 管理客户端特定数据 例如:应用程序限制 {国家、年龄等} 应用程序徽标应用程序启动画面:背景 = {图像/URL}

ClientApp ID - 003 注册/登录 - 检查 mobileno 是否在 ClientID Endpoint API 中注册 - 管理客户端特定数据 例如:应用程序限制 {国家、年龄等} 应用程序徽标 应用程序启动画面:背景 = {渐变/代码}

Hasura 上的示例多租户 API 管理