Firestore限制每次写入的访问权限

3
在 Firestore 的安全设置中,您可以设置写入/读取数据的条件。目前我有这段代码:
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if request.auth != null && request.time < 
                resource.data.timeCreated + duration.value(1, 'h');
      allow write: if request.auth != null;
    }
  }
}

现在我想限制写入,用户只能每5分钟发送一次数据。我该如何实现?

1个回答

1

没有本地的方法可以做到这一点。

对于未登录用户,您无法以任何非常容易被绕过的方式实现此目的。但您可以使用Cloud Functions来为已登录用户实现此目的。

每个用户都有一个配置文件,其中包含他们下次可以编写的时间以及要编写的文档的ID。

  • 在写入时使用规则检查该ID是否已存在且>=允许的时间
  • 在写入时使用Cloud Functions更新用户配置文件文档,以获取下一个编写操作的新允许时间和唯一ID

我该怎么做呢?(很抱歉打扰你,但这对我来说非常困难) - Anna Saenger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接