Résoudre l’erreur cloud_firestore/permission-denied
L’erreur [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation
signifie que votre application Flutter, ou votre utilisateur n’a pas les autorisations nécessaires pour lire ou écrire des données dans Firestore. Cela se produit généralement en raison des règles de sécurité de Firestore qui bloquent l’accès non authentifié ou non autorisé.
La manière de résoudre ce problème est de changer vos règles de sécurité en allant dans :
- La console Firebase de votre projet ;
- Firestore database ;
- Règles.
Vous pouvez alors changer vos règles, pour les rendre moins restrictives.
Pour accéder à vos documents Firebase sans aucune authentification (uniquement pour le développement), vous pouvez configurer vos règles de sécurité comme ceci :
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
Dans ce cas, vous n’avez pas besoin de vous authentifier pour modifier ou accéder à vos documents.
La manière reste de créer un système d’authentification pour vos utilisateurs et de changer vos règles comme suit :
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
Ces règles permettent l’accès uniquement aux utilisateurs connectés via un des systèmes que vous aurez mis en place.