Arayüz: İstek

Özellikler

auth

rules.Harita

Kimlik doğrulama bağlamı isteyin.

  • uid - istekte bulunan kullanıcının UID'si.
  • token: JWT jetonu hak taleplerinin haritası.

token haritası şu değerleri içerir:


Alan Açıklama
"e-posta" Hesapla ilişkili e-posta adresi (varsa).
"e-posta_doğrulandı" Kullanıcı "e-postaya" erişimi olduğunu doğruladıysa "true" (doğru) girin.
"phone_number" Varsa, hesapla ilişkili telefon numarası.
"ad" Ayarlanmışsa, kullanıcının görünen adı.
"sub" Kullanıcının Firebase UID'si. Bu, proje içinde benzersizdir.
"firebase.identities" Bu kullanıcının hesabıyla ilişkili tüm kimliklerin haritası. Haritanın anahtarları şunlardan herhangi biri olabilir: `email`, `phone`, "google.com", "facebook.com", "github.com", "twitter.com". Değerleri Harita, her kimlik için benzersiz tanımlayıcıların yer aldığı listelerdir hesapla ilişkilendirilen sağlayıcıdır. Örneğin, `request.auth.token.firebase.identities["google.com"][0]` şunu içerir: Hesapla ilişkilendirilen ilk Google kullanıcı kimliği.
"firebase.sign_in_provider" Bu jetonu almak için kullanılan oturum açma sağlayıcısı. Şunlardan biri olabilir: şu dizeler: `custom`, `password`, `phone`, `aonymous`, "google.com", "facebook.com", "github.com", "twitter.com".
"firebase.tenant" Varsa, hesapla ilişkili kiracı kimliği. ör. "kiracı2-m6tyz"

method

boş olmayan rules.String

İstek yöntemi. Şunlardan biri:

  • get
  • list
  • create
  • update
  • delete

yol

boş olmayan rules.Path

Etkilenen kaynağın yolu.

query

boş olmayan rules.Map

Mevcut olduğunda sorgu özelliklerinin eşlemesi.

  • limit - sorgu sınırı ibaresi.
  • offset - sorgu uzaklığı ifadesi.
  • orderBy: sorgu orderBy yan tümcesi.

Örnek

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

kaynak

boş olmayan rules.firestore.Resource

Yeni kaynak değeri (yalnızca yazma isteklerinde bulunur).

time

boş olmayan rules.Timestamp

Hizmetin isteğin ne zaman alındığı.

Sunucu tarafı zaman damgalarını içeren Firestore yazma işlemleri için bu süre sunucu zaman damgasına eşit olur.

Örnek

// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField