如何使用具有已注册电子邮件的firebase auth模拟firebase数据库规则

如何使用具有已注册电子邮件的firebase auth模拟firebase数据库规则,firebase,firebase-realtime-database,firebase-authentication,firebase-security,Firebase,Firebase Realtime Database,Firebase Authentication,Firebase Security,我是firebase新手,正在尝试firebase数据库规则和firebase身份验证。 我正在尝试对firebase数据库规则使用firebase身份验证。 所以我创建了一封演示电子邮件来测试这个数据库规则。 电邮:abc@gmail.com uid:wfipzwunvtikryvpxsfqzd1rag2 我的数据库规则(遵循firebase站点) Firebase数据库规则: 我曾尝试使用模拟器来处理数据库规则,该规则具有以下自定义负载,并且已通过身份验证,因此无法访问读或写操作

我是firebase新手,正在尝试firebase数据库规则和firebase身份验证。
我正在尝试对firebase数据库规则使用firebase身份验证。
所以我创建了一封演示电子邮件来测试这个数据库规则。
电邮:abc@gmail.com
uid:wfipzwunvtikryvpxsfqzd1rag2
我的数据库规则(遵循firebase站点)
Firebase数据库规则:


我曾尝试使用模拟器来处理数据库规则,该规则具有以下自定义负载,并且已通过身份验证,因此无法访问读或写操作。
有效负载:

{
  "provider": "password",
  "uid": "WfipZwUuNvTIkRYvPxsFqzd1rag2"
}

那么我在这一点上遗漏了什么呢?

更新
我需要的是使用firebase身份验证电子邮件对数据库进行读写访问。
我目前正在firebase数据库规则模拟器上进行尝试。

我一直被拒绝访问。因此,可能是我的负载不适合进行身份验证。需要帮助

根据文件,您应实施:

{
  "rules": {
    "users": {
      "$user_id": {
        // grants write access to the owner of this user account
        // whose uid must exactly match the key ($user_id)
        ".write": "$user_id === auth.uid",
        ".read" : "$user_id === auth.uid"
      }
    }
  }
} 
请注意,您应该实现“==”而不是“==”


上面的实现将只允许用户wfipzwunvtikryvpxsfsfqzd1rag2在该特定位置上读写“/users/{user_id}”

我尝试了您在该模拟器中指定的规则,并获得了模拟写入许可。唯一的区别是我没有使用您指定的uid。 有关结果,请参见下图
更新

我测试过了,这次它能正常工作。上次我试过,这条规则不起作用,这很奇怪。
好的,我假设模拟器的身份验证意味着如果我的任何firebase auth用户登录。
因此,我的路径和规则在测试期间有问题,不是我的有效负载
如果我想允许firebase auth用户访问数据库,那么我的规则应该是这样的(我猜)。

规则:fire base auth以读写权限访问整个数据库。



谢谢@d.mares和@MuruGan

它不工作,在这种情况下,'=='和'='没有太大的不同。所以实际上我需要的是,如何测试firebase身份验证电子邮件,以便在firebase数据库规则的模拟器中进行模拟,在那里它会得到一个pass值。
{
  "rules": {
    "users": {
      "$user_id": {
        // grants write access to the owner of this user account
        // whose uid must exactly match the key ($user_id)
        ".write": "$user_id === auth.uid",
        ".read" : "$user_id === auth.uid"
      }
    }
  }
} 
{
  "rules": {
        ".write": "auth.uid != null",
        ".read" : "auth.uid != null"
      }
}