在firebase数据库中访问auth中的自定义字段

时间:2017-10-07 23:44:47

标签: firebase firebase-realtime-database firebase-security

我正在尝试访问我的auth中的自定义字段以控制对firebase中的数据的访问,firebase中的users字段看起来像这样

public class KempeCollector
{
   public string Name {get; set;}
   public List<KempeList> Collection {get; set;}
}

public class KempeList 
{
   public DateTime DateTaken {get; set;}
   public decimal Score {get; set;}
}

我有这个规则来确保只有管理员可以阅读整个订单表

users: {
    email: string,
    isAdmin: boolean,
    name: string
}

在模拟中,如果我将其作为令牌的一部分传递,

"orders":{
    "$userOrders": {
        ".read": "$userOrders == auth.uid || auth.isAdmin == true",
        "$eachUserOrder": {
            ".read": "$userOrders == auth.uid || auth.isAdmin == true",
            ".write": "!data.exists()"
         }
    },
    ".read": "auth.isAdmin === true"
},

但是对于在浏览器上将字段isAdmin设置为true的用户,它表示权限被拒绝。

  

util.js:233 FIREBASE警告:用户回调引发了异常。错误:在/ orders处的permission_denied:客户端无权访问所需数据。

我现在不明白出了什么问题。

0 个答案:

没有答案