aturan . toko api . Meminta
Konteks permintaan masuk.
Properti
autentik
Minta konteks autentikasi.
-
uid
- UID pengguna yang meminta. -
token
- peta klaim token JWT.
Peta token
berisi nilai-nilai berikut:
Bidang | Keterangan |
---|---|
`email` | Alamat email yang terkait dengan akun tersebut, jika ada. |
`email_terverifikasi` | `benar` jika pengguna telah memverifikasi bahwa mereka memiliki akses ke alamat `email`. |
`nomor_telepon` | Nomor telepon yang terkait dengan akun tersebut, jika ada. |
`nama` | Nama tampilan pengguna, jika disetel. |
`sub` | UID Firebase pengguna. Ini unik dalam sebuah proyek. |
`firebase.identitas` | Peta semua identitas yang terkait dengan akun pengguna ini. Kunci peta dapat berupa salah satu dari berikut ini: `email`, `telepon`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. Nilai peta adalah daftar pengidentifikasi unik untuk setiap penyedia identitas yang terkait dengan akun tersebut. Misalnya, `request.auth.token.firebase.identities["google.com"][0]` berisi ID pengguna Google pertama yang terkait dengan akun tersebut. |
`firebase.sign_in_provider` | Penyedia masuk digunakan untuk mendapatkan token ini. Dapat berupa salah satu string berikut: `custom`, `password`, `phone`, `anonymous`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. |
`firebase.penyewa` | TenantId yang terkait dengan akun, jika ada. misalnya `penyewa2-m6tyz` |
metode
aturan bukan nol.String
Metode permintaan. Satu dari:
-
get
-
list
-
create
-
update
-
delete
jalur
aturan bukan nol. Jalur
Jalur sumber daya yang terpengaruh.
pertanyaan
aturan bukan nol. Peta
Peta properti kueri, jika ada.
-
limit
- klausa batas kueri. -
offset
- klausa offset kueri. -
orderBy
- klausa orderBy kueri.
Contoh
// Limit documents per request to 50
allow list: if request.query.limit <= 50
sumber
aturan non-null.firestore.Resource
Nilai sumber daya baru, hanya ada pada permintaan tulis.
waktu
aturan bukan nol. Stempel waktu
Ketika permintaan diterima oleh layanan.
Untuk operasi tulis Firestore yang menyertakan stempel waktu sisi server, kali ini akan sama dengan stempel waktu server.
Contoh
// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField