Firebase permission denied with security rules

Steven Sparkies

This is the JSON from my data base in Firebase and I want to do some rules like the auth but I get an error and I don't know what to do:

"users" : {
    "0BuRcGEZQRUaQ5T2gQf4RDUcuZE2" : {
      "address" : "La Prensa",
      "email" : "[email protected]",
      "id" : "0BuRcGEZQRUaQ5T2gQf4RDUcuZE2",
      "lastName" : "Vega",
      "middleName" : "Paul",
      "name" : "Christian",
      "nroDocument" : "171645220",
      "phoneNumber" : "1234567890",
      "rol" : "administrador",
      "secondLastName" : "Niama"
    }
}

These are the rules that I'm using:

{
  "rules": {
      "users": {
        "$user_id": {
          ".read": "auth != null",
          ".write": "auth.uid === $user_id"
        }
      }
   }
}

error:

angular.js:13550 Error: permission_denied at /users: Client doesn't have permission to access the desired data.

This is the error that I get in my web app. I can't see the users that I have registered. But when I stop using $user_id it works. I think that variable doesn't get my value.

code:

resultUsers : function () { 
    var ref = pharmacyFactory.ref.child("users"); 
    var result = $firebaseArray(ref); 
    return result; 
},
adolfosrs

The problem is that you are using $firebaseArray(ref) to keep track of the whole /users branch but you are placing your read rules inside /users/user_id. Therefore, since you don't have a read rule in /users it will set the default that is false.

If you want users to have read access to the whole /users branch but write only to his own user data you might be interested in doing the following:

{
  "rules": {
      "users": {
        ".read": "auth != null",
        "$user_id": {
          ".write": "auth.uid === $user_id"
        }
      }
   }
}

If you want the user to only see his own user then you should be using $firebaseObject(ref.child(userId)) instead of $firebaseArray. And working with your rules like the following:

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

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Firebase permission denied with security rules

From Dev

Firebase read permission denied when using auth security rules

From Dev

Security rules causes always getting "Permission denied"

From Dev

Firebase Security Rules - permission denied when trying to remove data from a tree node

From Dev

Firebase database rules and permission_denied error

From Dev

Firebase security rule gives permission denied?

From Dev

iOS -Is Write Denied Error In Firebase Security Rules Or In The Rules Simulator?

From Dev

Firebase update result with PERMISSION_DENIED without breaking the rules - with solution

From Dev

Firebase write permission denied

From Java

Firebase Permission Denied

From Dev

Firebase Permission denied Error

From Dev

Security rules in Firebase

From Dev

Firebase Security Rules

From Dev

Basic security rules with Firebase

From Dev

Firebase Security Rules

From Dev

Firebase security and rules

From Dev

firebase - security rules REST

From Dev

Firebase security rules not working

From Dev

firebase security permission not working

From Dev

Android Firebase setValue() Permission Denied

From Dev

Firebase Permission denied after auth

From Dev

Firebase Permission Denied despite of rule

From Dev

Firebase database permission denied error

From Dev

Firebase database: Permission denied for reading?

From Dev

How to check for Firebase permission denied?

From Dev

Firebase database rules: users permission

From Dev

folder security, cannot access .. Permission denied, huh?

From Dev

Firebase indexOn security & rules not working

From Dev

Firebase Security & Rules -Double-