Schnittstelle: Anfrage

Eigenschaften

Autor

Regeln.Karte

Authentifizierungskontext anfordern.

  • uid – die UID des anfragenden Benutzers.
  • token – eine Karte der JWT-Token-Ansprüche.

Die token Map enthält die folgenden Werte:


Feld Beschreibung
„E-Mail“. Die mit dem Konto verknüpfte E-Mail-Adresse, falls vorhanden.
„email_verified“. „true“, wenn der Benutzer bestätigt hat, dass er Zugriff auf die „E-Mail“-Adresse hat.
„Telefonnummer“. Die mit dem Konto verknüpfte Telefonnummer, falls vorhanden.
`Name` Der Anzeigename des Benutzers, falls festgelegt.
`sub` Die Firebase-UID des Benutzers. Dies ist innerhalb eines Projekts einzigartig.
`firebase.identities` Eine Karte aller Identitäten, die mit dem Konto dieses Benutzers verknüpft sind. Die Schlüssel der Karte können folgende sein: „E-Mail“, „Telefon“, „google.com“, „Facebook.com“, „github.com“, „twitter.com“. Die Werte der Karte sind Listen eindeutiger Kennungen für jeden mit dem Konto verknüpften Identitätsanbieter. Beispielsweise enthält „request.auth.token.firebase.identities["google.com"][0]“ die erste Google-Benutzer-ID, die mit dem Konto verknüpft ist.
`firebase.sign_in_provider` Der Anmeldeanbieter, der zum Erhalten dieses Tokens verwendet wurde. Kann eine der folgenden Zeichenfolgen sein: „custom“, „password“, „phone“, „anonymous“, „google.com“, „facebook.com“, „github.com“, „twitter.com“.
`firebase.tenant` Die mit dem Konto verknüpfte Mieter-ID, falls vorhanden. zB „tenant2-m6tyz“.

Methode

Nicht-Null- Regeln.String

Die Anforderungsmethode. Einer von:

  • get
  • list
  • create
  • update
  • delete

Weg

Nicht-Null- Regeln.Pfad

Pfad der betroffenen Ressource.

Abfrage

Nicht-Null-Regeln.Map

Karte der Abfrageeigenschaften, sofern vorhanden.

  • limit – Abfragelimitklausel.
  • offset – Abfrage-Offset-Klausel.
  • orderBy – orderBy-Klausel abfragen.

Beispiel

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

Ressource

Nicht-Null- rules.firestore.Resource

Der neue Ressourcenwert, der nur bei Schreibanforderungen vorhanden ist.

Zeit

Nicht-Null- Regeln.Zeitstempel

Wann die Anfrage beim Dienst eingegangen ist.

Bei Firestore-Schreibvorgängen, die serverseitige Zeitstempel enthalten, entspricht diese Zeit dem Server-Zeitstempel.

Beispiel

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