1

我们开发 SaaS 已经有一段时间了。

我们决定使用Google Cloud Identity Platform来处理多租户身份验证,并使用firestore作为我们的主数据库,但我有一些疑问。

我可以将 Identity Platform 与多个域和子域一起使用吗?

之所以想到这个问题,是因为在应用程序中,除了免费的子域之外,我还允许我的客户连接他们的自定义域,例如:

Client1 将拥有 client1.com 和 client1.myapp.com

Client2 将拥有 client2.com 和 client2.myapp.com

但是,我想知道我是否可以以这种方式使用身份平台以及是否可能。

我还想知道是否可以使用 firestore 执行相同的任务,以便我的客户可以从多个域和子域的单个 firestore 数据库中获取数据。

应该注意的是,我们已经配置了在我们的自定义服务器上托管多个域的机制,我们只是想集成 firestore 和身份平台。

4

1 回答 1

0

您可以在 GCIP 中为每个租户配置一个授权域。有几种方法可以在 Cloud Firestore 中管理多个租户/域。

添加根级域集合

在根级别拆分数据。这意味着您将拥有多个版本的子集合,如果您完全在域/租户内进行查询,这不是问题。但是,您可以使用 collectionGroup 查询来解决这个问题。

domains / client1 / users  / user123
                  / mydata / mydata1
domains / client2 / users  / user456
                  / mydata / mydata2

在每个文档中指定域

您可以坚持使用传统的集合结构并将域添加到每个文档。使用此选项,请记住,每个查询都需要一个索引才能允许您的domainId字段。

/ users  / user123
/ users  / user456
/ mydata / mydata1
/ mydata / mydata1

每个文档都需要一个domainId字段供您过滤。

{
  displayName: 'Bob Smaith',
  domainId: 'client1'
}
于 2021-05-10T14:26:38.480 回答