kurallar. firestore. İstek
Gelen istek bağlamı.
Özellikler
auth
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