permissão de segurança do firebase não está funcionando
Tenho abaixo os dados armazenados no meufirebase
:
firebaseRoot
admins
simplelogin:1:
users
simplelogin:1
email: [email protected]
picture: csd
provider: password
uid: simplelogin:1
simplelogin:2
email: [email protected]
picture: zsd
provider: password
uid: simplelogin:1
e seguintes regras de segurança:
{
"rules": {
"admins": {
".read": "root.child('admins').child(auth.uid).val() === true",
".write": "root.child('admins').child(auth.uid).val() === true"
},
"users": {
"$user":{
".read": "$user === auth.id || root.child('admins').child(auth.uid).val() === true",
".write": "$user === auth.id"
}
}
}
}
Meus requisitos de autorização são os seguintes.
os administradores podem ser lidos e adicionados apenas pelo administrador existente. Isso funciona.Todos os usuários podem ser lidos pelo administrador, mas não devem poder gravar dados do usuário.um usuário pode ler e atualizar seus próprios dados.Atualmente, com as regras acima, não consigo ler os dados dos usuários para administradores e usuários conectados. Recebo abaixo a mensagem de erro. Por favor, forneça sua ajuda. Obrigado.
var rootRef = new Firebase('https://xxxxx.firebaseio.com/');
var users = rootRef.child('users');
users.on('value', function(snap) {
console.log(snap.key(), snap.val());
}, function(error) {
console.log(error);
});
Erro:
Erro: permission_denied: o cliente não tem permissão para acessar os dados desejados.