在createUser回调中设置返回带有安全规则的PERMISSION_DENIED

时间:2016-01-22 01:24:35

标签: firebase

我不确定我做错了什么或这是错误行为:

我设置了以下安全规则:

{
  "rules": {
    "test": {
      "$location": {
        ".read": true,
        ".write": true
      }
    },
    "test1": {
      "$location": {
        ".read": "$location === auth.uid",
        ".write": "$location === auth.uid"
      }
    }
  }
}

然后我做createUser并在回调中发出:

testRef.child('test/bla/bla/bla').set('val1',

testRef.child('test1/' + authData.uid + '/bla/bla/bla').set('val1',

然而test1失败了! 在控制台中,我看到PERMISSION_DENIED

您可以在此处查看此演示:http://jsfiddle.net/xvajnxya/

如果相反,我创建了CreateUser然后unauth然后authWithPassword,然后是set然后test和test1都工作 - 这向我证明安全规则没问题。

您可以通过重新设置setval(authData)来测试小提琴;并取消标记unauthAuthwithpassSet(authData);

我很感激对此的反馈。

1 个答案:

答案 0 :(得分:0)

您编写的代码正在按预期工作。 Firebase.createUser()仅创建用户,不对用户进行身份验证