我想发送一个设备ID来验证读取请求,但如果它不是请求路径的一部分,如何传递它?
当我需要的信息在请求路径中时,我可以使用此表单:
match /apps-data/{app} {
allow read: if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.subscriptions[app] == true
}
但是如何使用自定义值,例如device
:
if exists(get(/databases/$(database)/documents/users/$(request.auth.uid)).data.devices[device])
是否有可能,还有另一种方法可以实现这一目标吗?谢谢!
答案 0 :(得分:0)
在get()期间,您无法传递可在安全规则中引用的自定义数据。
即使id在文档的路径中,您也应该意识到这本身就是不安全的,因为受感染的客户端可能会在请求时伪造该数据。