Estoy tratando de otorgar permiso basado en un campo de documento:
match /users/{user}/{documents=**} { allow read, write: if resource.data.uid == request.auth.uid }
Así es como se ve mi consulta:
query(collection(db, "users", match.params.uid, "promotors"));
Pero sigo recibiendo este mensaje:
FirebaseError: permisos faltantes o insuficientes.
Su consulta no verifica de ninguna manera los datos en un campo en los documentos, por lo que nunca cumplirá con esta parte de sus reglas: resource.data.uid
.
En cambio, lo que parece tener es un caso en el que la identificación del documento coincide con la UID del usuario, que puede verificar con:
match /users/{user}/{documents=**} { allow read, write: if user == request.auth.uid }
Consulte también la documentación sobre el acceso exclusivo del propietario del contenido .