Antarmuka: Permintaan

Properti

auth

rules.Peta

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