首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Firestore安全规则拆分联接方法未按预期工作

Firestore安全规则拆分联接方法未按预期工作
EN

Stack Overflow用户
提问于 2019-03-05 08:30:18
回答 2查看 502关注 0票数 0

我面对两个问题:

  • 您不能更改句点‘’'firebase规则‘中的字符当您使用类似'request.auth.token.email’的东西时(不支持非常有限的操作字符串和联接、替换函数的选项)
  • 如果使用哈希表,您不能在查询中使用电子邮件,因为与‘键’的句号字符相同。

由于上面的问题,我放弃了HashMap方法,我正在尝试探索数组。有没有办法通过request.auth.token.email获取登录用户的电子邮件,并将其与文档中数组的' email‘元素进行比较?

例如,我有'bb@gmail.com‘作为登录用户,我想要获取'sharedWith’数组包含'bb@gmail.com‘作为条目的所有文档,并忽略其余文档。我可以在代码中实现它,但我希望将这种安排设置为“安全规则”,以使读取文档更可靠。

-更新-我在安全规则中尝试了拆分和连接,如下所示:(参考:Using the replace function in firestore security rules)

true允许读取: if isSignedIn() && resource.data.sharedWith(request.auth.token.email).split('.').join(',') in“

”;

我的疑问如下:

db.collection("Sites")
        .whereEqualTo("sharedWith.bb@gmail,com","true")

我的文档包含以下内容:

sharedWith
     mm@gmail,com : "true"
     bb@gmail,com : "true"

并且用户以'bb@gmail.com‘身份登录

上面的设置不起作用。我收到权限被拒绝的错误。我不知道我做错了什么,请帮帮忙。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54993682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档