Necesito permitir leer y escribir en mi base de datos de Firestore solo para usuarios que iniciaron sesión de forma anónima.
Esta es la lógica que estoy usando.
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 {} });Esta es la regla que tengo configurada pero no funciona.
service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.auth.uid != null; } } }Esto debería hacer:
allow read, write: if request.auth.token.firebase.sign_in_provider == "anonymous"; Puede leer más sobre request.auth en la documentación