Aby szybko przetestować zaktualizowany Firebase Security Rules w konsoli Firebase, użyj Playgroundu zasad.
Warsztaty dotyczące reguł to wygodne narzędzie, które możesz wykorzystać podczas eksplorowania nowych zachowań lub szybkiej weryfikacji reguł podczas ich pisania. Wyświetla komunikat potwierdzający, że dostęp został przyznany lub odmówiony zgodnie z parametrami ustawionymi w symulacji.
Korzystanie ze środowiska do testowania reguł
- Otwórz konsolę Firebase i wybierz projekt.
- Następnie w menu usługi wykonaj jedną z tych czynności:
- W odpowiednim przypadku wybierz Realtime Database, Cloud Firestore lub Pamięć, a potem kliknij Reguły, aby przejść do edytora Rules.
- Po wprowadzeniu zmian w edytorze kliknij Gry w reguły.
- W ustawieniach Rules Playground wybierz opcje testu, w tym:
- Testowanie odczytów lub zapisów.
- Określona lokalizacja w bazie danych lub zasobniku, jako ścieżka.
- Typ uwierzytelniania: niezalogowany, uwierzytelniony anonimowy użytkownik lub konkretny identyfikator użytkownika.
- dane dotyczące dokumentu, do których odwołują się Twoje reguły (np. jeśli Twoje reguły wymagają obecności określonego pola, zanim zezwolą na zapisanie danych);
- Kliknij Wykonaj i sprawdź wyniki na banerze nad edytorem.
Przykładowy scenariusz środowiska do testowania reguł
Testuj działanie Playgroundu reguł, korzystając z tego przykładowego scenariusza i podstawowych reguł.
Cloud Firestore
service cloud.firestore {
match /databases/{database}/documents {
// Allow only authenticated content owners access
match /some_collection/{document} {
allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
}
}
}
Realtime Database
// These rules grant access to a node matching the authenticated // user's ID from the Firebase auth token { "rules": { "users": { "$uid": { ".read": "$uid === auth.uid", ".write": "$uid === auth.uid" } } } }
Cloud Storage
// Grants a user access to a node matching their user ID
service firebase.storage {
match /b/{bucket}/o {
// Files look like: "user/<UID>/path/to/file.txt"
match /user/{userId}/{allPaths=**} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}
W edytorze Rules dodaj powyższą regułę.
W menu Typ symulacji wybierz get i w polu Lokalizacja wpisz prawidłową ścieżkę.
Włącz opcję Uwierzytelnianie i w menu Dostawca wybierz typ uwierzytelniania.
Wpisz dane identyfikatora użytkownika i kliknij Uruchom.
Wyniki symulacji pojawiają się u góry edytora. W zależności od podanych przez Ciebie informacji o identyfikatorze użytkownika powinien pojawić się baner potwierdzający, że odczyt został albo zaakceptowany, albo odrzucony.