firebase 限制用户保存超过10个文档

nc1teljy  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(123)

我不知道什么是最好的方法来处理这个问题。我想限制用户保存超过10个文档。我有这样的集合

DataCollection > {item-documents}

项目文档结构

{
    id: auto-generated
    uid: user-uid
    .... // other data
}

选项1:在保存文档之前,我可以得到这个用户保存的总条目数,并且可以进行限制。但是我认为可以通过模拟API响应来欺骗它
选项2:是否有任何方法可以限制规则中的写入操作?

pb3s4cty

pb3s4cty1#

在保存文档之前,我可以得到这个用户保存的总条目数,并且可以进行限制。但是我认为可以通过模拟API响应来欺骗它
一种可能性是具有云函数,该云函数在每次创建(和删除?)文档时由用户更新计数器。
此计数器由用户保存在一个文档中,您可以使用get()方法在安全规则中读取该文档。
使用云函数的优点是,您可以拒绝对包含计数器文档的集合的任何访问,因为云函数使用绕过安全规则的Admin SDK。
一个重要的(?)缺点是计数器更新不是即时的,即使您将云函数配置为始终有一个或多个示例可用。

相关问题