เนมสเปซ: แก้ไขข้อบกพร่อง

แก้ปัญหา

debug()

ฟังก์ชันแก้ไขข้อบกพร่องพื้นฐานที่พิมพ์ภาษาของกฎความปลอดภัย ออบเจ็กต์ ตัวแปร และผลลัพธ์ของคำสั่งตามที่เป็นอยู่ ประเมินโดยเครื่องมือกฎความปลอดภัย เขียนเอาต์พุตของ debug ไปยัง Firestore-debug.log

สามารถเรียกฟังก์ชัน debug ภายในกฎได้เท่านั้น สภาพสินค้า

การบล็อกฟังก์ชัน debug รายการจะเรียกใช้โดยเครื่องมือกฎการรักษาความปลอดภัยใน โปรแกรมจำลอง Firestore ซึ่งเป็นส่วนหนึ่งของชุดโปรแกรมจำลอง Firebase การแก้ไขข้อบกพร่อง จะไม่ส่งผลใดๆ ต่อเวอร์ชันที่ใช้งานจริง

ระบบจะแทรกรายการไฟล์บันทึกการแก้ไขข้อบกพร่องไว้หน้าด้วยสตริงที่ระบุกฎ ประเภทข้อมูลภาษาของเอาต์พุตบันทึก (เช่น string_value, map_value)

การเรียกไปยัง debug สามารถซ้อนกันได้

ปัจจุบันฟีเจอร์ debug ไม่รองรับแนวคิดการบันทึก ระดับต่างๆ (เช่น INFO, WARN, ERROR)

// firestore.rules
// Nested debug calls in the following match block....
match
/carts/{cartID} {
  allow create
: if request.auth != null && request.auth.uid == request.resource.data.ownerUID;
    allow read
, update, delete: if
      debug
(
        debug
(request.auth.uid) == debug(resource.data.ownerUID)
     
);
 
}
...

// firestore-debug.log
// ...produce logfile output like the following.
string_value
: "alice" // for debug(request.auth.uid)

string_value
: "alice" // for debug(resource.data.ownerUID)

bool_value
: true      // for the outermost enclosing debug() call
...

Firebase gives you the tools and infrastructure you need to build better mobile and web apps, improve app quality, and grow your business.

อัปเดตแล้ว Aug 21, 2024