Firestore每次限制写入权限

时间:2017-10-07 17:25:35

标签: java firebase-security google-cloud-firestore

在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 个答案:

答案 0 :(得分:1)

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

对于非签名用户,您不能以任何方式轻易绕过。您可以使用云功能为登录用户实现此目的。

每个用户都有一个配置文件,下次他们可以写,以及下一个要写的文档的ID。

  • 使用写入规则来检查ID是否已经存在,并且&lt; s&gt; =允许的时间
  • 在写入时使用云功能以使用新的允许时间和下一次写入的唯一ID更新用户配置文件