我有一个自定义的FB令牌,可解密为以下内容
{
"uid" : "fred"
"d" : {
"roles" : [
"foo",
"bar"
]
}
}
现在我想锁定我的数据,以便只有foo
角色的用户才能访问数据。如何编写Firebase authz规则来执行此操作?我试过这样的东西,但它不会编译。我不认为它喜欢indexOf()方法。
{
"rules": {
".read": "auth != null && auth.role != null && auth.role.indexOf('foo') > 0",
".write": false,
}
给了我以下错误:
类型错误:对不是函数的目标执行函数调用。
答案 0 :(得分:0)
我重构了我的JSON,格式如下:
{
"uid" : "fred"
"d" : {
"roles" : {
"foo" : true,
"bar" : true
}
}
}
我的authz规则
{
"rules": {
".read": "auth != null && auth.role != null && auth.role['foo'] == true",
".write": false,
}