我正在尝试实施适当的Firebase安全规则并遇到一个具有挑战性的问题。我有公开列表,应该是所有人都可以查看的,除了列表的作者之外,任何人都不能删除或编辑。当有人购买(通过PayPal插件)给定列表时,我需要写入此列表,将其状态更改为已售出。基本上这就像第三方(不是列表作者)必须写入给定的列表。
以下是我目前的规则:
"listings": {
".read": "auth.provider === 'facebook'",
"$listingID": {
".write": "auth.provider === 'facebook' && ((!data.exists() && newData.exists()) || root.child('listings/'+$listingID+'/UID').val() === auth.uid)"
}
}
我有一种感觉,我需要从我的后端写入Firebase(Firebase功能),但我不确定安全规则将如何解决,因为它仍然是买方(第三方)请求我们需要将新状态写入列表节点,该节点只能由作者编辑。
对于如何处理这种情况的任何建议/建议都将受到高度赞赏!
非常感谢!