【发布时间】:2021-02-15 09:00:37
【问题描述】:
我非常了解如何使用firebase-security 限制哪些用户对firebase-realtime-database 中的各个节点拥有“.read/.write”权限。
我很难理解如何限制什么用户可以写入节点以及何时用户可以写入节点。
我正在开发一款向其用户提供奖励的应用,并且我想跟踪用户可以兑换奖励的积分余额。当用户在应用程序上完成一项任务时,它将增加用户的积分余额。从客户端增加此积分余额将需要firebase-security 中的“.write”权限。
我知道客户端代码不能保护 Firebase 数据不被操纵。有人可以在我的应用程序之外操纵他/她自己的积分余额值吗?如果是这样,我将如何防止某人将他/她的积分余额增加任意数量的积分?
我认为唯一的方法是拒绝该用户对积分余额的“.write”权限,并使用firebase-cloud-functions 在服务器端更新积分余额,而不是从客户端代码更新积分余额。大家觉得呢?
【问题讨论】:
标签: firebase-realtime-database google-cloud-functions firebase-security