quy tắc. cửa hàng lửa. Yêu cầu
Ngữ cảnh của yêu cầu đến.
Thuộc tính
xác thực
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