在$ createUser之后,Firebase权限被拒绝

时间:2014-07-20 23:30:03

标签: angularjs firebase angularfire

在我的网络应用程序中,Firebase总是告诉我权限被拒绝,而模拟器中的工作正常。

FIREBASE WARNING: set at /users/simplelogin:14 failed: permission_denied  

我在用户注册时添加元数据(例如名称)时遇到问题。 data只是一个包含name属性的JSON对象。

var signup = function (email, password, data) {
    firebaseAuth
        .$createUser(email, password)
        .then(function (user) {
            dataRef.child('users').child(user.uid)
            .set(data);
        }, function (err) {
            console.error(err);
        });
};

我的火力基地规则:

{
    "rules": {
        "users": {
          "$user": {            
            ".read": "$user == auth.uid",
            ".write": "$user == auth.uid"
          }
        }
    }
}

模拟器工作正常:

Attempt to write {"name":"Test"} to /users/simplelogin:7 with auth={"uid":"simplelogin:7"}
    /
    /users
    /users/simplelogin:7:.write: "$user == auth.uid"
        => true

Write was allowed.

1 个答案:

答案 0 :(得分:2)

正如@Kato指出的那样,您需要在注册后自行登录用户,然后才能做任何事情。

Firebase createUser docs