我们正在向firebase添加身份验证角色。 我们的消息传递结构是这样的:
ColorableItemInfo
roomId是自定义字符串,用于连接两个用户(sender-reciver):
例如:
/users/<userId>/rooms/<roomId>/
我想只为userId提供对这个房间的写访问权限 4hkjheqrnv501eltbg1px或638red8osipedem08j1a6(其中roomId指定)
如何从roomId变量中实际提取userId并检查其中一个是否在auth对象中。
我试过这种方式,但没有工作:
/users/4hkjheqrnv501eltbg1px/rooms/4hkjheqrnv501eltbg1px-638red8osipedem08j1a6/
因此只有auth用户才能授予此会议室写入权限638red8osipedem08j1a6 4hkjheqrnv501eltbg1px
任何想法如何修改?
答案 0 :(得分:0)
我认为您需要将房间地址拆分为数组,并查找用户ID是否在数组中:
"rooms": {
"$roomId": {
".write": "auth != null && $roomId.split('-').indexOf(auth.uid) > -1"
}
}