【问题标题】:What is the most reliable method for having isolated user-groups?拥有隔离用户组的最可靠方法是什么?
【发布时间】:2018-05-15 01:52:50
【问题描述】:

问题原来是:

如何在创建用户时(每个用户)创建一个新的数据库实例?

虽然我知道这是不可能的(目前),但我仍然认为这是一个好问题 - 因为在查看类似 ShardingAdmin Database API 的文档时,无法创建新的 @ 987654323@ 实例通过Cloud Functions,就像Firebase Console 一样。

这是关于,我被卡住的地方:

exports.admin_db_create = functions.database.ref('/db/{hookId}').onWrite(event => {
/* TODO: create a new database and assign the email address with the database. */
});

我还找到了functions.database.instance,虽然这似乎返回了对现有数据库实例的引用,但没有创建一个。

所以让我重新表述一下这个问题:

隔离用户组最可靠的方法是什么 -

以及如何利用Firebase Invites 邀请加入这样的群组?

我的意思是,这样用户就可以拥有自己的“数据库”并邀请自己的团队,而无需出售 GSuite。

【问题讨论】:

    标签: firebase firebase-realtime-database google-cloud-functions firebase-admin firebase-invites


    【解决方案1】:

    没有自动创建 Firebase 实时数据库实例的 API。

    您要么必须手动为每个团队创建单独的实例或项目,要么通过安全规则将它们分隔在单个数据库中。如果单独的团队实际上是单独的公司(基于您对 GSuite 的引用),我强烈建议为每个团队使用单独的 Firebase 项目,

    【讨论】:

    • 目前我有一个数据库的安全规则——虽然提前创建无数数据库可能是一种解决方法,但没有实际的解决方案。单个 Firebase 项目是不可能的,因为无法将密钥添加到已构建的 Android 应用程序包中。一般的问题是,Firebase 数据库“所有者”可能想要添加/与域外人员协作。只是问了这个问题,因为每个用户(或每个组所有者)分片将启用常见的现实世界应用程序;借助 GDPR 政策,它将提供一种授予“被遗忘权”的简便方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 2018-01-07
    • 2021-07-03
    • 2015-08-04
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    相关资源
    最近更新 更多