กฎ. firestore. คำขอ
บริบทคำขอที่เข้ามาใหม่
พร็อพเพอร์ตี้
การตรวจสอบสิทธิ์
ขอบริบทการตรวจสอบสิทธิ์
uid
- UID ของผู้ใช้ที่ส่งคำขอtoken
- แผนที่การอ้างสิทธิ์โทเค็น JWT
แผนที่ token
มีค่าต่อไปนี้:
ช่อง | คำอธิบาย |
---|---|
"อีเมล" | อีเมลที่เชื่อมโยงกับบัญชี หากมี |
"ยืนยันด้วยอีเมล" | "true" หากผู้ใช้ยืนยันแล้วว่ามีสิทธิ์เข้าถึง "อีเมล" อีเมล |
"หมายเลขโทรศัพท์" | หมายเลขโทรศัพท์ที่เชื่อมโยงกับบัญชี หากมี |
"ชื่อ" | ชื่อที่แสดงของผู้ใช้ หากตั้งค่าไว้ |
"sub" | Firebase UID ของผู้ใช้ ชื่อนี้จะเป็นค่าที่ไม่ซ้ำกันภายในโปรเจ็กต์ |
"firebase.identities" | แผนที่ของข้อมูลประจำตัวทั้งหมดที่เชื่อมโยงกับบัญชีของผู้ใช้นี้ คีย์ของแผนที่อาจเป็นอะไรก็ได้ต่อไปนี้ "email", "phone", "google.com", "facebook.com", "github.com", "twitter.com" ค่าของ แผนที่เป็นรายการตัวระบุที่ไม่ซ้ำกันสำหรับแต่ละข้อมูลประจำตัว เป็นผู้ให้บริการที่เชื่อมโยงกับบัญชี ตัวอย่างเช่น `request.auth.token.firebase.identities["google.com"][0]` มี รหัสผู้ใช้ Google แรกที่เชื่อมโยงกับบัญชี |
"firebase.sign_in_provider" | ผู้ให้บริการการลงชื่อเข้าใช้ที่ใช้เพื่อรับโทเค็นนี้ เป็นหนึ่งใน สตริงต่อไปนี้: "custom", "password", "phone", "anonymous", "google.com", "facebook.com", "github.com", "twitter.com" |
"firebase.tenant" | รหัสกลุ่มผู้ใช้ที่เชื่อมโยงกับบัญชี (หากมี) เช่น "กลุ่มผู้ใช้2-m6tyz" |
method
rules.String ที่ไม่เป็นค่าว่าง
วิธีการส่งคำขอ ข้อใดข้อหนึ่ง:
get
list
create
update
delete
เส้นทาง
rules.Path ที่ไม่เป็นค่าว่าง
เส้นทางของทรัพยากรที่ได้รับผลกระทบ
query
กฎที่ไม่เป็นค่าว่าง
แผนที่ของคุณสมบัติการค้นหา (หากมี)
limit
- วรรคข้อจำกัดข้อความค้นหาoffset
- วลีออฟเซ็ตการค้นหาorderBy
- ค้นหาอนุประโยค orderBy
ตัวอย่าง
// Limit documents per request to 50
allow list: if request.query.limit <= 50
แหล่งข้อมูล
rules.firestore.Resource ที่ไม่เป็นค่าว่าง
ค่าทรัพยากรใหม่ ซึ่งอยู่ในคำขอเขียนเท่านั้น
เวลา
rules.Timestamp ที่ไม่เป็นค่าว่าง
เวลาที่บริการได้รับคำขอ
สำหรับการดำเนินการเขียน Firestore ที่มีการประทับเวลาฝั่งเซิร์ฟเวอร์ เวลานี้จะเท่ากับการประทับเวลาของเซิร์ฟเวอร์
ตัวอย่าง
// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField