Per testare rapidamente il tuo Firebase Security Rules aggiornato nella console Firebase, utilizza la sandbox delle regole.
Il Rules Playground è uno strumento pratico da utilizzare quando esplori nuovi comportamenti o convalidi rapidamente le regole durante la loro scrittura. Viene visualizzato un messaggio che conferma che l'accesso è stato consentito o negato in base ai parametri impostati per la simulazione.
Utilizzare il playground delle regole
- Apri la console Firebase e seleziona il tuo progetto.
- Poi, dalla navigazione del prodotto, esegui una delle seguenti operazioni:
- Seleziona Realtime Database, Cloud Firestore o Spazio di archiviazione, come appropriato, quindi fai clic su Regole per accedere all'editor Rules.
- Dopo aver apportato le modifiche, fai clic su Rules Playground (Playground delle regole) dall'editor.
- Nelle impostazioni di Rules Playground, seleziona le opzioni per il test, tra cui:
- Test delle operazioni di lettura o scrittura.
- Una posizione specifica nel database o nel bucket di archiviazione, sotto forma di percorso.
- Tipo di autenticazione: utente anonimo non autenticato, utente anonimo autenticato o un ID utente specifico.
- Dati specifici del documento a cui fanno riferimento le regole (ad esempio, se le regole richiedono la presenza di un campo specifico prima di consentire una scrittura).
- Fai clic su Esegui e cerca i risultati nel banner sopra l'editor.
Esempio di scenario delle regole del Playground
Testa il comportamento di Rules Playground con il seguente scenario di esempio e le regole di base.
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;
}
}
}
Nell'editor Rules, aggiungi la regola indicata sopra.
Seleziona get dal menu a discesa Tipo di simulazione e inserisci un percorso valido nel campo Posizione.
Attiva Autenticazione e seleziona un tipo di autenticazione dal menu a discesa Fornitore.
Inserisci i dettagli dell'ID utente e fai clic su Esegui.
I risultati della simulazione vengono visualizzati nella parte superiore dell'editor. A seconda dei dettagli dell'ID utente che hai inserito, dovresti visualizzare un banner che conferma che la lettura è stata consentita o negata.