【问题标题】:Restricting deletion permissions in Firestore限制 Firestore 中的删除权限
【发布时间】:2018-11-05 08:09:48
【问题描述】:

我有一个节点网络应用程序,我在其中使用 Firebase 进行数据存储,我想知道是否有办法从 Firebase 控制台添加规则以仅允许在某个数据库上创建和查看数据。

例如,在我的应用中,我希望用户能够创建消息和查看消息,但我不希望他们能够删除它们。

有没有办法在 Firestore 规则中限制删除文档?

【问题讨论】:

    标签: javascript node.js firebase google-cloud-firestore firebase-security


    【解决方案1】:

    您可以将write 分解为更多细粒度操作,如in the docs 所述:

    读取规则可以分为 get 和 list,而 write 规则可以分为 createupdate >删除

    你的特殊情况的一个例子:

    service cloud.firestore {
      match /databases/{database}/documents {
        match /messages/{messageId} {
          allow read, create, update: if request.auth.uid != null;
        }
      }
    }
    

    【讨论】:

    • 非常感谢您的回复!跟进这一点,规则中是否有办法将这些操作限制为仅在某个 URL/域上进行。因此,如果我的应用托管在 example.com,我可以在该规则中编写一些内容以仅允许来自 example.com 的请求吗?
    • 不是真的,你必须要有创意,可能将用户绑定的域存储在数据库中,然后进行比较,或者创建一个自定义的身份验证令牌,你可以在规则。
    猜你喜欢
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2018-04-21
    相关资源
    最近更新 更多