กฎ . ร้านดับเพลิง ขอ
บริบทคำขอที่เข้ามา
คุณสมบัติ
รับรองความถูกต้อง
ขอบริบทการตรวจสอบสิทธิ์
-
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