Giao diện: Yêu cầu

Thuộc tính

xác thực

rules.Map

Yêu cầu ngữ cảnh xác thực.

  • uid – UID của người dùng yêu cầu.
  • token – bản đồ các thông báo xác nhận quyền sở hữu mã thông báo JWT.

Tệp ánh xạ token chứa các giá trị sau:


Trường Mô 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 "email" của bạn.
"phone_number" Số điện thoại được liên kết với tài khoản, nếu có.
"name" (tên) Tên hiển thị của người dùng (nếu có).
"sub" UID trên Firebase của người dùng. Đây là giá trị 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 khoá của bản đồ có thể là bất kỳ khoá nào sau đây: "email", "phone", "google.com", "facebook.com", "github.com", "twitter.com". Giá trị của bản đồ là danh sách các mã nhận dạng duy nhất cho từng giá trị nhận dạng liên kết với tài khoản. Ví dụ: `request.auth.token.firebase.identities["google.com"][0]` chứa mã nhận dạng 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 dùng để lấy mã thông báo này. Có thể là một trong những các chuỗi sau: `custom`, `password`, `phone`, `anonymous`, "google.com", "facebook.com", "github.com", "twitter.com".
"firebase.tenant" Mã người thuê được liên kết với tài khoản (nếu có). ví dụ: "tenant2-m6tyz"

method

rules.String không rỗng

Phương thức yêu cầu. Một trong các lựa chọn sau:

  • get
  • list
  • create
  • update
  • delete

đường dẫn

rules.Path khác rỗng

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

truy vấn

rules.Map khác rỗng

Bản đồ các thuộc tính truy vấn (nếu có).

  • limit – mệnh đề giới hạn truy vấn.
  • offset – mệnh đề chênh lệch truy vấn.
  • orderBy – mệnh đề truy vấn orderBy.

Ví dụ

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

tài nguyên

rules.firestore.Resource không có giá trị rỗng

Giá trị tài nguyên mới chỉ hiển thị trên các yêu cầu ghi.

thời gian

rules.Timestamp có giá trị không rỗng

Thời điểm dịch vụ nhận được yêu cầu.

Đối với các thao tác ghi trên Firestore có 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