Interface: solicitação

Propriedades

auth

rules.Map (em inglês)

Solicitar contexto de autenticação.

  • uid: o UID do usuário solicitante.
  • token: um mapa de declarações do token JWT.

O mapa token contém os seguintes valores:


Campo Descrição
"e-mail" O endereço de e-mail associado à conta, se essa informação existir.
"email_verificado" "true" se o usuário tiver verificado que tem acesso a "email" endereço IP.
"número_do_telefone" O número de telefone associado à conta, se essa informação existir.
`nome` O nome de exibição do usuário, se ele tiver sido definido.
"sub" O UID do Firebase do usuário. Ele é exclusivo dentro de um projeto.
"firebase.identities" Um mapa de todas as identidades associadas à conta deste usuário. As chaves do mapa podem ser qualquer uma das seguintes chaves: `email`, `phone`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. Os valores de mapa são listas de identificadores exclusivos de cada identidade de nuvem associado à conta. Por exemplo: `request.auth.token.firebase.identities["google.com"][0]` contém o primeiro ID de usuário do Google associado à conta.
"firebase.sign_in_provider" O provedor de entrada usado para receber esse token. Pode ser um dos seguintes strings: `custom`, `password`, `phone`, `anonymous`, `google.com`, `facebook.com`, `github.com`, `twitter.com`.
"firebase.tenant" O tenantId associado à conta, se houver. Por exemplo: "tenant2-m6tyz"

method

rules.String não nulos

O método de solicitação. Uma destas:

  • get
  • list
  • create
  • update
  • delete

path

rules.Path não nulos

Caminho do recurso afetado.

consulta

rules.Map não nulos

Mapa das propriedades da consulta, quando presente.

  • limit: cláusula de limite de consulta.
  • offset: cláusula de deslocamento de consulta.
  • orderBy: cláusula orderBy da consulta.

Exemplo

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

recurso

rules.firestore.Resource não nulo

O novo valor do recurso, presente apenas nas solicitações de gravação.

tempo

rules.Timestamp não nulos

Quando a solicitação foi recebida pelo serviço.

Para operações de gravação do Firestore que incluem carimbos de data/hora do lado do servidor, nesse horário será igual ao carimbo de data/hora do servidor.

Exemplo

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