Pour tester rapidement vos règles de sécurité Firebase mises à jour dans la console Firebase, utilisez le Rules Playground.
Le Rules Playground est un outil pratique à utiliser lorsque vous explorez de nouveaux comportements ou validez rapidement des règles au fur et à mesure que vous les écrivez. Il affiche un message confirmant que l'accès a été autorisé ou refusé selon les paramètres que vous avez définis pour la simulation.
Utilisez le terrain de jeu des règles
- Ouvrez la console Firebase et sélectionnez votre projet.
- Ensuite, à partir de la navigation du produit, effectuez l'une des opérations suivantes :
- Sélectionnez Base de données en temps réel , Cloud Firestore ou Stockage , selon le cas, puis cliquez sur Règles pour accéder à l'éditeur de règles.
- Une fois que vous avez effectué vos modifications, cliquez sur Rules Playground dans l'éditeur.
- Dans les paramètres de Rules Playground , sélectionnez des options pour votre test, notamment :
- Tester les lectures ou les écritures.
- Emplacement spécifique dans votre base de données ou compartiment de stockage, sous forme de chemin.
- Type d'authentification — utilisateur anonyme non authentifié ou authentifié ou ID utilisateur spécifique.
- Données spécifiques au document auxquelles vos règles font spécifiquement référence (par exemple, si vos règles exigent la présence d'un champ spécifique avant d'autoriser une écriture).
- Cliquez sur Exécuter et recherchez les résultats dans la bannière au-dessus de l'éditeur.
Exemple de scénario Rules Playground
Testez le comportement de Rules Playground avec l'exemple de scénario et les règles de base suivants.
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
}
}
}
Base de données en temps réel
// 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" } } } }
Stockage en ligne
// 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;
}
}
}
Dans l'éditeur de règles, ajoutez la règle indiquée ci-dessus.
Sélectionnez obtenir dans le menu déroulant Type de simulation et saisissez un chemin valide dans le champ Emplacement .
Activez l'authentification et sélectionnez un type d'authentification dans le drodpdown du fournisseur .
Entrez les détails de l'ID utilisateur et cliquez sur Exécuter .
Les résultats de la simulation apparaissent en haut de l'éditeur. Selon les détails de l'ID utilisateur que vous avez saisis, vous devriez voir une bannière confirmant que la lecture a été autorisée ou refusée avec succès.