rules. firestore. Request
Kontekst przychodzącego żądania.
Właściwości
uwierzytelnienie
Poproś o kontekst uwierzytelniania.
uid
– identyfikator UID użytkownika wysyłającego prośbę.token
– mapa deklaracji tokenów JWT.
Mapa token
zawiera te wartości:
Pole | Opis |
---|---|
„e-mail” | Adres e-mail powiązany z kontem (jeśli istnieje). |
„adres_e-mail_zweryfikowany” | Wartość „true” (prawda), jeśli użytkownik potwierdził, że ma dostęp do adresu e-mail adresu. |
`phone_number` | Numer telefonu powiązany z kontem (jeśli istnieje). |
„nazwa” | Wyświetlana nazwa użytkownika (jeśli została ustawiona). |
„subskrypcja” | Identyfikator UID Firebase użytkownika. Jest to unikalna wartość w obrębie projektu. |
„firebase.identities” | Mapa wszystkich tożsamości powiązanych z kontem tego użytkownika. Klawiszami mapy mogą być: „e-mail”, „telefon”, „google.com”, „facebook.com”, „github.com”, „twitter.com”. Wartości funkcji mapa zawiera listy unikalnych identyfikatorów dla każdej tożsamości usługodawcy powiązanego z kontem. Przykład: „request.auth.token.firebase.identities["google.com"][0]” zawiera pierwszy identyfikator użytkownika Google powiązany z kontem. |
`firebase.sign_in_provider` | Dostawca logowania, który został użyty do uzyskania tego tokena. Może być jednym z następujące ciągi: `custom`, `password`, `phone`, `anonimous`, „google.com”, „facebook.com”, „github.com”, „twitter.com”. |
„firebase.tenant” | Identyfikator najemcy powiązany z kontem, jeśli istnieje. np. „tenant2-m6tyz” |
method
niepusta wartość rules.String
Metoda żądania. Jedno z tej listy:
get
list
create
update
delete
ścieżka
niepusta wartość rules.Path
Ścieżka zasobu, którego dotyczy problem.
zapytanie
niepusta wartość rules.Map
Mapa właściwości zapytania, jeśli jest dostępna.
limit
– klauzula limitu zapytań.offset
– klauzula przesunięcia zapytania.orderBy
– zapytanie orderBy.
Przykład
// Limit documents per request to 50
allow list: if request.query.limit <= 50
zasób
niepusta wartość rules.firestore.Resource
Nowa wartość zasobu widoczna tylko w przypadku żądań zapisu.
time.
niepusta wartość rules.Timestamp
Kiedy usługa odebrała żądanie.
W przypadku operacji zapisu w Firestore, które obejmują sygnatury czasowe po stronie serwera, ten czas będzie równy sygnaturze czasowej serwera.
Przykład
// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField