So verwenden Sie Firebase Auth mit Firestore im Flattern
Ich habe ein Flattern Anwendung basierend auf cloud_firestore und firebase_auth , ich hinzufügen Benutzer (blaue Taste) durch Authentifizierung Firebase, und hielt die ID in dem Code , so dass dieser Benutzer der Administrator können regelmäßige Nutzer ein Konto durch Anwendung erstellen (E - Mail und Passwort) Ich möchte sicherstellen, dass nur der Administrator Daten aus der Datenbank löschen kann, während der Rest der Benutzer nur lesen und schreiben darf. Deshalb habe ich Folgendes getan:
Ich habe die Rollen in meinem Cloud Firestore-Projekt folgendermaßen geändert :
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
allow delete : if request.auth.uid == 'psqxVzX6BvYCuWbajhcEK1QGZOo1';
}
}
}
Ist das wahr oder nicht und wie kann Firebase empfindlich auf UID reagieren ?
Vielleicht ist meine Frage, wie man die UID mit der firestoreAnfrage sendet .
Danke im Voraus
Antworten
- Wenn Sie eine
writeRegel haben, können Sie mit diesen Regeln Vorgänge erstellen, aktualisieren und löschen. - Wenn Sie mehrere Regeln für dieselbe Operation haben, werden diese zusammen ODER-verknüpft.
Dies bedeutet, allow read, write: if request.auth != nulldass jeder authentifizierte Benutzer Dokumente in der Datenbank erstellen, aktualisieren und löschen kann.
Wenn Sie nur einem authentifizierten Benutzer erlauben möchten, ein Dokument zu erstellen oder zu aktualisieren, aber nur möchten, dass der Benutzer mit dieser bestimmten UID Dokumente löscht, müssen Sie diese Vorgänge explizit benennen:
allow read, create, update: if request.auth != null;
allow delete: if request.auth.uid == 'psqxVzX6BvYCuWbajhcEK1QGZOo1';
Ausführliche Informationen finden Sie in der Dokumentation zu detaillierten Vorgängen .