อินเทอร์เฟซ: คำขอ

คุณสมบัติ

รับรองความถูกต้อง

กฎ.แผนที่

ขอบริบทการตรวจสอบสิทธิ์

  • uid - UID ของผู้ใช้ที่ร้องขอ
  • token - แผนที่ของการอ้างสิทธิ์โทเค็น JWT

แผนที่ token ประกอบด้วยค่าต่อไปนี้:


สนาม คำอธิบาย
`อีเมล` ที่อยู่อีเมลที่เชื่อมโยงกับบัญชี หากมี
`อีเมล_ยืนยันแล้ว` "จริง" หากผู้ใช้ได้ตรวจสอบแล้วว่าตนสามารถเข้าถึง "ที่อยู่อีเมล" ได้
`หมายเลขโทรศัพท์` หมายเลขโทรศัพท์ที่เชื่อมโยงกับบัญชี หากมี
'ชื่อ' ชื่อที่แสดงของผู้ใช้ หากตั้งค่าไว้
`ย่อย` UID ของ Firebase ของผู้ใช้ นี่เป็นเรื่องพิเศษภายในโครงการ
`firebase.identities` แผนที่ข้อมูลระบุตัวตนทั้งหมดที่เกี่ยวข้องกับบัญชีผู้ใช้รายนี้ ปุ่มต่างๆ ของแผนที่อาจเป็นคีย์ใดก็ได้ต่อไปนี้: `email`, `phone`, `google.com`, `facebook.com`, `github.com`, `twitter.com` ค่าของแผนที่คือรายการตัวระบุที่ไม่ซ้ำกันสำหรับผู้ให้บริการข้อมูลประจำตัวแต่ละรายที่เกี่ยวข้องกับบัญชี ตัวอย่างเช่น `request.auth.token.firebase.identities["google.com"][0]` มี ID ผู้ใช้ Google แรกที่เชื่อมโยงกับบัญชี
`firebase.sign_in_provider` ผู้ให้บริการลงชื่อเข้าใช้ที่ใช้ในการรับโทเค็นนี้ สามารถเป็นหนึ่งในสตริงต่อไปนี้: `กำหนดเอง`, `รหัสผ่าน`, `โทรศัพท์`, `ไม่ระบุชื่อ`, `google.com`, `facebook.com`, `github.com`, `twitter.com`
`firebase.tenant` TenantId ที่เชื่อมโยงกับบัญชี หากมี เช่น `ผู้เช่า2-m6tyz`

วิธี

กฎ ที่ไม่ใช่ null.String

วิธีการร้องขอ หนึ่งใน:

  • get
  • list
  • create
  • update
  • delete

เส้นทาง

กฎ ที่ไม่เป็นโมฆะเส้นทาง

เส้นทางของทรัพยากรที่ได้รับผลกระทบ

แบบสอบถาม

กฎ ที่ไม่เป็นโมฆะ แผนที่

แผนผังคุณสมบัติการสืบค้น เมื่อมี

  • limit - ข้อ จำกัด ของแบบสอบถาม
  • offset - คำสั่งออฟเซ็ตแบบสอบถาม
  • orderBy - แบบสอบถามคำสั่ง orderBy

ตัวอย่าง

// Limit documents per request to 50
allow list: if request.query.limit <= 50

ทรัพยากร

กฎ ที่ไม่เป็นค่าว่าง firestore.Resource

ค่าทรัพยากรใหม่ จะแสดงเมื่อมีการร้องขอการเขียนเท่านั้น

เวลา

กฎ ที่ไม่เป็นโมฆะ การประทับเวลา

เมื่อได้รับคำขอจากผู้ให้บริการแล้ว

สำหรับการดำเนินการเขียน Firestore ที่มีการประทับเวลาฝั่งเซิร์ฟเวอร์ เวลานี้จะเท่ากับการประทับเวลาของเซิร์ฟเวอร์

ตัวอย่าง

// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField