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 reguł w trakcie ich pisania. 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 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 dla 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 placu zabaw reguł 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.