Firebase: Cannot add user entry (`set` permission denied)

Dominic

I want to ensure that a new user can be created (from the client), but only an authenticated user can read or write an existing object.

I have a simple rule set:

{
    "rules": {
        "users": {
          "$uid": {
              ".read": "auth != null && auth.uid === $uid",
              ".write": "!data.exists() || auth.uid === $uid"
          }
        }
    }
}

I am calling createUser and then in the callback I'm trying to add an entry to my own users object:

const usersRef = ref.child('users');

const userEntry = {
    [userData.uid]: {
        created: new Date().getTime()
    }
};

usersRef.set(userEntry)

I would have thought that even though the user is not yet logged in, they should have write permission because of !data.exists(). Yet I am getting a PERMISSION_DENIED error.

If I set ".write": true on the users level then it will cascade (and override?) my inner rules won't it?

Edit:

This fails even with:

"users": {
  "$uid": {
      ".read": true,
      ".write": true
  }
}

Thanks.

lossleader

I think I initially misunderstood the problem. In your current callback, you are trying to overwrite the entire users level because of how set works.

You would really want to set only the thing that doesn't exist:

const userRef = ref.child('users').child(userData.uid);

const userEntry = {
        created: new Date().getTime()
    };

userRef.set(userEntry);

Then, I think that your existing rules would work.

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: Cannot add user entry (`set` permission denied)

From Dev

React/Rebase/Firebase warning: Permission Denied - How do I add user authentication?

From Dev

Cannot stat 'direction', permission denied when permission's are set

From Dev

Cannot stat 'direction', permission denied when permission's are set

From Dev

Firebase: permission_denied -- cannot access newData.child()

From Dev

Android default Firebase Permission denied even after user Authenticated

From Dev

Firebase: Authenticated user with full permissions gets PERMISSION DENIED on root

From Dev

Firebase write permission denied

From Java

Firebase Permission Denied

From Dev

Firebase Permission denied Error

From Dev

Firebase Database Permission denied with read/write permissions set to true

From Dev

cygwin cannot exec 'git-add--interactive' permission denied

From Dev

systemd --user Failed to set up standard output: Permission denied

From Dev

Permission denied - cannot open outputfile

From Dev

Android Firebase setValue() Permission Denied

From Dev

Firebase permission denied with security rules

From Dev

Firebase Permission denied after auth

From Dev

Firebase Permission Denied despite of rule

From Dev

Firebase permission denied with security rules

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

sudo as user permission denied on command

From Dev

NFS mount fails, permission denied, no export entry

From Dev

Permission denied when chmod is set

From Dev

fatal: cannot exec '/home/<user>/.ssh': Permission denied when using Git

From Dev

Reset permissions on (K)Ubuntu 18.04: newly created user gets "Cannot execute /bin/bash: Permission denied"

From Dev

snap-store or basically any snap app cannot be run: user-dirs.dirs: Permission denied

From Dev

Using $set() to add a User object to /users in Firebase

Related Related

  1. 1

    Firebase: Cannot add user entry (`set` permission denied)

  2. 2

    React/Rebase/Firebase warning: Permission Denied - How do I add user authentication?

  3. 3

    Cannot stat 'direction', permission denied when permission's are set

  4. 4

    Cannot stat 'direction', permission denied when permission's are set

  5. 5

    Firebase: permission_denied -- cannot access newData.child()

  6. 6

    Android default Firebase Permission denied even after user Authenticated

  7. 7

    Firebase: Authenticated user with full permissions gets PERMISSION DENIED on root

  8. 8

    Firebase write permission denied

  9. 9

    Firebase Permission Denied

  10. 10

    Firebase Permission denied Error

  11. 11

    Firebase Database Permission denied with read/write permissions set to true

  12. 12

    cygwin cannot exec 'git-add--interactive' permission denied

  13. 13

    systemd --user Failed to set up standard output: Permission denied

  14. 14

    Permission denied - cannot open outputfile

  15. 15

    Android Firebase setValue() Permission Denied

  16. 16

    Firebase permission denied with security rules

  17. 17

    Firebase Permission denied after auth

  18. 18

    Firebase Permission Denied despite of rule

  19. 19

    Firebase permission denied with security rules

  20. 20

    Firebase database permission denied error

  21. 21

    Firebase database: Permission denied for reading?

  22. 22

    How to check for Firebase permission denied?

  23. 23

    sudo as user permission denied on command

  24. 24

    NFS mount fails, permission denied, no export entry

  25. 25

    Permission denied when chmod is set

  26. 26

    fatal: cannot exec '/home/<user>/.ssh': Permission denied when using Git

  27. 27

    Reset permissions on (K)Ubuntu 18.04: newly created user gets "Cannot execute /bin/bash: Permission denied"

  28. 28

    snap-store or basically any snap app cannot be run: user-dirs.dirs: Permission denied

  29. 29

    Using $set() to add a User object to /users in Firebase

HotTag

Archive