在 Firebase authz 规则中使用数组
Using arrays in Firebase authz rules
我有一个自定义的 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,
}
给我以下错误:
Type error: Function call on target that is not a function.
我重构了我的 JSON 格式如下:
{
"uid" : "fred"
"d" : {
"roles" : {
"foo" : true,
"bar" : true
}
}
}
我的 authz 规则
{
"rules": {
".read": "auth != null && auth.role != null && auth.role['foo'] == true",
".write": false,
}
我有一个自定义的 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,
}
给我以下错误:
Type error: Function call on target that is not a function.
我重构了我的 JSON 格式如下:
{
"uid" : "fred"
"d" : {
"roles" : {
"foo" : true,
"bar" : true
}
}
}
我的 authz 规则
{
"rules": {
".read": "auth != null && auth.role != null && auth.role['foo'] == true",
".write": false,
}