Aby szybko przetestować zaktualizowany Firebase Security Rules w konsoli Firebase, użyj Playgroundu zasad.
Eksperymentalny interfejs reguł to wygodne narzędzie do wykorzystania nowych zachowań lub szybkim weryfikowaniu reguł podczas ich pisania. Wyświetla komunikat potwierdzający, że dostęp został przyznany lub odmówiony zgodnie z parametrami ustawionymi w symulacji.
Korzystanie z zasad
- Otwórz konsolę Firebase i wybierz projekt.
- Następnie z poziomu nawigacji w usłudze wykonaj jedną z tych czynności:
- Wybierz Realtime Database, Cloud Firestore lub Miejsce na dane. w razie potrzeby kliknij Reguły, aby przejść do sekcji Rules redaktorem.
- Po wprowadzeniu zmian kliknij w edytorze Zestaw reguł.
- W ustawieniach Rynku reguł wybierz opcje testu, w tym:
- Testowanie odczytów i zapisów.
- Określona lokalizacja w bazie danych lub zasobniku na dane jako ścieżka.
- Typ uwierzytelniania: niezalogowany, uwierzytelniony anonimowy użytkownik lub konkretny identyfikator użytkownika.
- dane dotyczące dokumentów, do których odwołują się reguły (na Jeśli na przykład reguły wymagają obecności określonego pola przed co umożliwi zapis).
- Kliknij Wykonaj i sprawdź wyniki na banerze nad edytorem.
Przykładowy scenariusz tworzenia reguł
Przetestuj działanie Playground reguł w tym przykładowym scenariuszu i podstawowych zasad.
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 regułę wskazaną powyżej.
Wybierz pobierz z menu Typ symulacji i wpisz prawidłową wartość. ścieżki w polu Lokalizacja.
Włącz Uwierzytelnianie i wybierz typ uwierzytelniania Menu dostawcy.
Wpisz identyfikator użytkownika i kliknij Uruchom.
Wyniki symulacji zostaną wyświetlone u góry edytora. W zależności od identyfikator użytkownika, powinien pojawić się baner potwierdzający odczyt. została zaakceptowana lub odrzucona.