rules. firestore. Permintaan
Konteks permintaan masuk.
Properti
auth
Meminta konteks autentikasi.
uid
- UID pengguna yang meminta.token
- peta klaim token JWT.
Peta token
berisi nilai berikut:
Kolom | Deskripsi |
---|---|
`email` | Alamat email yang terhubung dengan akun, jika ada. |
`email_diverifikasi` | `true` jika pengguna telah memverifikasi bahwa mereka memiliki akses ke `email` alamat IPv6 |
`nomor_telepon` | Nomor telepon yang terkait dengan akun, jika ada. |
`nama` | Nama tampilan pengguna, jika ditetapkan. |
`sub` | UID Firebase pengguna. UID ini bersifat unik dalam sebuah project. |
`firebase.identities` | Peta semua identitas yang terkait dengan akun pengguna ini. Kunci peta dapat berupa salah satu dari hal berikut: `email`, `phone`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. Nilai-nilai dari peta adalah daftar ID unik untuk setiap identitas penyedia layanan yang terkait dengan akun. Misalnya, `request.auth.token.firebase.identities["google.com"][0]` berisi ID pengguna Google pertama yang terkait dengan akun. |
`firebase.sign_in_provider` | Penyedia login yang digunakan untuk mendapatkan token ini. Dapat berupa salah satu string berikut: `custom`, `sandi`, `ponsel`, `anonim`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. |
`firebase.tenant` | tenantId yang terkait dengan akun, jika ada. mis. `tenant2-m6tyz` |
method
rules.String non-null
Metode permintaan. Salah satu dari:
get
list
create
update
delete
jalur
rules.Path non-null
Jalur resource yang terpengaruh.
kueri
rules.Map non-null
Peta properti kueri, jika ada.
limit
- klausa batas kueri.offset
- klausa offset kueri.orderBy
- klausa kueri orderBy.
Contoh
// Limit documents per request to 50
allow list: if request.query.limit <= 50
referensi
rules.firestore.Resource non-null
Nilai resource baru, hanya ada pada permintaan tulis.
waktu
rules.Stempel waktu non-null
Saat permintaan diterima oleh layanan.
Untuk operasi tulis Firestore yang menyertakan stempel waktu sisi server, waktu 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