Aby szybko przetestować zaktualizowany kod Firebase Security Rules w konsoli Firebase, użyj narzędzia Rules Playground.
Plac zabaw reguł to wygodne narzędzie, które możesz wykorzystać podczas poznawania nowych zachowań lub szybkiego sprawdzania poprawności pisanych reguł. Wyświetli komunikat potwierdzający, że dostęp został przyznany lub odrzucony zgodnie z parametrami ustawionymi w symulacji.
Korzystanie ze środowiska do testowania reguł
- Otwórz Firebasekonsolę i wybierz projekt.
- Następnie w menu nawigacyjnym usługi wykonaj jedną z tych czynności:
- Wybierz Realtime Database, Cloud Firestore lub Pamięć, a następnie kliknij Reguły, aby otworzyć edytorRules.
- Po wprowadzeniu zmian kliknij Plac zabaw reguł w edytorze.
- W ustawieniach Placu zabaw reguł wybierz opcje testu, w tym:
- Testowanie odczytów i zapisów.
- Określona lokalizacja w bazie danych lub zasobniku pamięci w postaci ścieżki.
- Typ uwierzytelniania – nieuwierzytelniony, uwierzytelniony anonimowy użytkownik lub konkretny identyfikator użytkownika.
- Dane specyficzne dla dokumentu, do których odwołują się reguły (np. jeśli reguły wymagają obecności określonego pola przed zezwoleniem na zapis).
- Kliknij Wykonaj i sprawdź wyniki na banerze nad edytorem.
Przykładowy scenariusz w środowisku do testowania reguł
Sprawdź działanie narzędzia Rules Playground na podstawie 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>/file.txt"
match /user/{userId}/{fileName} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}
W edytorze Rules dodaj podaną regułę.
W menu Typ symulacji wybierz get i w polu Lokalizacja wpisz prawidłową ścieżkę.
Włącz Uwierzytelnianie i w menu Dostawca wybierz typ uwierzytelniania.
Wpisz szczegóły identyfikatora użytkownika i kliknij Uruchom.
Wyniki symulacji pojawią się u góry edytora. W zależności od wprowadzonych szczegółów identyfikatora użytkownika powinien pojawić się baner z potwierdzeniem, że odczyt został dozwolony lub odrzucony.