หากต้องการทดสอบ Firebase Security Rules ที่อัปเดตแล้วในคอนโซล Firebase อย่างรวดเร็ว ให้ใช้ Sandbox ของกฎ
พื้นที่ทดสอบกฎเป็นเครื่องมือที่สะดวกเมื่อคุณสำรวจลักษณะการทํางานใหม่ๆ หรือตรวจสอบกฎอย่างรวดเร็วขณะเขียน ระบบจะแสดงข้อความที่ยืนยันว่ามีการอนุญาตหรือปฏิเสธการเข้าถึงตามพารามิเตอร์ที่คุณตั้งค่าไว้สำหรับการจําลอง
ใช้พื้นที่ทดลองกฎ
- เปิดคอนโซล Firebase แล้วเลือกโปรเจ็กต์
- จากนั้น จากการนำทางของผลิตภัณฑ์ ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้
- เลือก Realtime Database, Cloud Firestore หรือพื้นที่เก็บข้อมูลตามความเหมาะสม จากนั้นคลิกกฎเพื่อไปยังตัวแก้ไข Rules
- เมื่อแก้ไขเสร็จแล้ว ให้คลิกพื้นที่ทดสอบกฎจากเครื่องมือแก้ไข
- ในการตั้งค่าพื้นที่ทดสอบกฎ ให้เลือกตัวเลือกสําหรับการทดสอบ ซึ่งรวมถึงตัวเลือกต่อไปนี้
- การทดสอบการอ่านหรือเขียน
- ตำแหน่งที่เฉพาะเจาะจงในฐานข้อมูลหรือที่เก็บข้อมูลเป็นเส้นทาง
- ประเภทการตรวจสอบสิทธิ์ - ผู้ใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์ ผู้ใช้ที่ไม่ระบุตัวตนซึ่งผ่านการตรวจสอบสิทธิ์ หรือรหัสผู้ใช้ที่เฉพาะเจาะจง
- ข้อมูลที่เฉพาะเจาะจงของเอกสารที่กฎของคุณอ้างอิงโดยเฉพาะ (เช่น หากกฎกำหนดให้มีช่องที่เฉพาะเจาะจงก่อนที่จะอนุญาตให้เขียน)
- คลิกเรียกใช้ แล้วดูผลลัพธ์ในแบนเนอร์เหนือเครื่องมือแก้ไข
ตัวอย่างสถานการณ์ในแท็บพื้นที่ทดลองกฎ
ทดสอบลักษณะการทํางานของ Rules Playground ด้วยสถานการณ์ตัวอย่างและกฎพื้นฐานต่อไปนี้
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;
}
}
}
ในเครื่องมือแก้ไข Rules ให้เพิ่มกฎที่ระบุด้านบน
เลือก get จากเมนูแบบเลื่อนลงประเภทการจําลอง แล้วป้อนเส้นทางที่ถูกต้องในช่องตําแหน่ง
เปิดการตรวจสอบสิทธิ์ แล้วเลือกประเภทการตรวจสอบสิทธิ์จากเมนูแบบเลื่อนลงผู้ให้บริการ
ป้อนรายละเอียดรหัสผู้ใช้ แล้วคลิกเรียกใช้
ผลลัพธ์ของการจําลองจะปรากฏที่ด้านบนของเครื่องมือแก้ไข คุณควรเห็นแบนเนอร์ที่ยืนยันว่าการอ่านได้รับอนุญาตหรือถูกปฏิเสธเรียบร้อยแล้ว ทั้งนี้ขึ้นอยู่กับรายละเอียดรหัสผู้ใช้ที่คุณป้อน