Giao diện: Yêu cầu

Của cải

xác thực

quy tắc.Map

Yêu cầu bối cảnh xác thực.

  • uid - UID của người dùng yêu cầu.
  • token - bản đồ các yêu cầu mã thông báo JWT.

Bản đồ token chứa các giá trị sau:


Cánh đồng Sự miêu tả
`email` Địa chỉ email được liên kết với tài khoản, nếu có.
`email_verified` `true` nếu người dùng đã xác minh rằng họ có quyền truy cập vào địa chỉ `email`.
`số_điện thoại` Số điện thoại được liên kết với tài khoản, nếu có.
`tên` Tên hiển thị của người dùng, nếu được đặt.
`phụ` UID Firebase của người dùng. Đây là điều duy nhất trong một dự án.
`firebase.identities` Bản đồ tất cả danh tính được liên kết với tài khoản của người dùng này. Các khóa của bản đồ có thể là bất kỳ khóa nào sau đây: `email`, `phone`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. Các giá trị của bản đồ là danh sách các số nhận dạng duy nhất cho từng nhà cung cấp danh tính được liên kết với tài khoản. Ví dụ: `request.auth.token.firebase.identities["google.com"][0]` chứa ID người dùng Google đầu tiên được liên kết với tài khoản.
`firebase.sign_in_provider` Nhà cung cấp dịch vụ đăng nhập được sử dụng để nhận mã thông báo này. Có thể là một trong các chuỗi sau: `custom`, `password`, `phone`, `anonymous`, `google.com`, `facebook.com`, `github.com`, `twitter.com`.
`firebase.tenant` ID đối tượng thuê được liên kết với tài khoản, nếu có. ví dụ: `tenant2-m6tyz`

phương pháp

quy tắc không null.String

Phương pháp yêu cầu. Một trong:

  • get
  • list
  • create
  • update
  • delete

con đường

quy tắc không null.Path

Đường dẫn của tài nguyên bị ảnh hưởng.

truy vấn

quy tắc không null.Map

Bản đồ thuộc tính truy vấn, khi có.

  • limit - mệnh đề giới hạn truy vấn.
  • offset - mệnh đề offset truy vấn.
  • orderBy - mệnh đề orderBy truy vấn.

Ví dụ

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

nguồn

quy tắc không null.firestore.Resource

Giá trị tài nguyên mới, chỉ xuất hiện trên các yêu cầu ghi.

thời gian

quy tắc không null.Timestamp

Khi dịch vụ nhận được yêu cầu.

Đối với các thao tác ghi Firestore bao gồm dấu thời gian phía máy chủ, thời gian này sẽ bằng dấu thời gian của máy chủ.

Ví dụ

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