I need to allow read and write to my Firestore database for only users logged in anonymously.
This is the logic I am using
firebase.auth().signInAnonymously()
.then(() => {
// Signed in.
console.log("we are signed in")
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
firebase.auth().onAuthStateChanged((user) => {
if (user) {
var uid = user.uid;
console.log(user.uid + " User uid")
} else {}
});
This is the rule I have setup but its not working.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}
This should do:
allow read, write: if request.auth.token.firebase.sign_in_provider == "anonymous";
You can read more about request.auth in documentation