Aby szybko przetestować zaktualizowane reguły bezpieczeństwa Firebase w konsoli Firebase, skorzystaj z Placu zabaw dla reguł.
Plac zabaw z regułami to wygodne narzędzie do wykorzystania podczas odkrywania nowych zachowań lub szybkiego sprawdzania zasad podczas ich pisania. Wyświetla komunikat potwierdzający, że dostęp został dozwolony lub zabroniony zgodnie z parametrami ustawionymi dla symulacji.
Skorzystaj z placu zabaw z zasadami
- Otwórz konsolę Firebase i wybierz swój projekt.
- Następnie w nawigacji produktu wykonaj jedną z następujących czynności:
- Wybierz opcję Baza danych czasu rzeczywistego , Cloud Firestore lub Pamięć masowa , a następnie kliknij Zasady , aby przejść do edytora reguł.
- Po wprowadzeniu zmian kliknij w edytorze Rules Playground .
- W ustawieniach placu zabaw wybierz opcje dla swojego testu, w tym:
- Testowanie odczytów lub zapisów.
- Określona lokalizacja w bazie danych lub zasobniku pamięci jako ścieżka.
- Typ uwierzytelnienia — nieuwierzytelniony, uwierzytelniony użytkownik anonimowy lub określony identyfikator użytkownika.
- Dane specyficzne dla dokumentu, do których konkretnie odwołują się reguły (na przykład, jeśli reguły wymagają obecności określonego pola przed zezwoleniem na zapis).
- Kliknij Uruchom i poszukaj wyników na banerze nad edytorem.
Przykładowy scenariusz placu zabaw z zasadami
Przetestuj zachowanie Plac zabaw z regułami, korzystając z następującego przykładowego scenariusza 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
}
}
}
Baza danych czasu rzeczywistego
// 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" } } } }
Magazyn w chmurze
// 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 reguł dodaj regułę podaną powyżej.
Wybierz opcję Pobierz z menu rozwijanego Typ symulacji i wprowadź prawidłową ścieżkę w polu Lokalizacja .
Włącz opcję Uwierzytelnianie i wybierz typ uwierzytelniania z menu rozwijanego Dostawca .
Wprowadź szczegóły identyfikatora użytkownika i kliknij Uruchom .
Wyniki symulacji pojawiają się w górnej części edytora. W zależności od wprowadzonych danych identyfikatora użytkownika powinien zostać wyświetlony baner potwierdzający pomyślne zezwolenie lub odmowę odczytu.