valk
valk

Reputation: 29

Firestore Permission denied. Connecting firestore to react native

addPost = async ({ text, localUri }) => {
        const remoteUri = await this.uploadPhotoAsync(localUri);

        return new Promise((res, rej) => {
            this.firestore
                .collection("posts")
                .add({
                    text,
                    uid: this.uid,
                    timestamp: this.timestamp,
                    image: remoteUri
                })
                .then(ref => {
                    res(ref);
                })
                .catch(error => {
                    rej(error);
                });
        });
    };

And

rules_version = '2';
service firebase.storage {
  match /posts/{doc} {
    allow read, write: if true;
  }
}

Above is my react-native code and below it is the firebase rules for my database so far. Still getting

FirebaseError:[code=permission-denied]: Missing or insufficient permissions.

Any help as to how to fix this code or to make my rules more secure? At this point in the code the user has been authenticated.

Upvotes: 0

Views: 729

Answers (1)

Peter Haddad
Peter Haddad

Reputation: 80914

The rules in the question are for firebase storage, you need to change the rule for firestore to true:

// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

Check here for more information:

https://firebase.google.com/docs/firestore/security/insecure-rules

Upvotes: 2

Related Questions