【发布时间】:2018-04-14 17:06:45
【问题描述】:
我正在努力解决 Firestore 安全规则。我想检查需要替换功能的值,即电子邮件地址。我可以在一般安全文档中找到一些文档,但这似乎不适用于 Firestore。
例如这有效:
allow write: if resource.data.members.data[(request.auth.token.email)] in ["admin"];
但这没有(我相应地更改了成员对象中的键):
allow write: if resource.data.members.data[(request.auth.token.email.replace('.' , ',')] in ["admin"];
另一种选择是在查询地址中使用点,因此不必像这样替换它们:
var emailSanitized = email.replace('.' , '.');
db.collection('someCollection').where('members.' + emailSanitized, '==', 'admin')
这里有什么想法吗?
【问题讨论】:
标签: firebase replace firebase-security rules google-cloud-firestore