Interfejs: żądanie

Właściwości

uwierzytelnienie

rules.Map,

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