regras . firestore . Solicitar
O contexto da solicitação recebida.
Propriedades
autenticação
Solicitar contexto de autenticação.
-
uid
- o UID do usuário solicitante. -
token
- um mapa de reivindicações de token JWT.
O mapa token
contém os seguintes valores:
Campo | Descrição |
---|---|
`e-mail` | O endereço de e-mail associado à conta, se presente. |
`email_verificado` | `true` se o usuário verificou que tem acesso ao endereço `email`. |
`número_telefone` | O número de telefone associado à conta, se presente. |
`nome` | O nome de exibição do usuário, se definido. |
`sub` | O UID do Firebase do usuário. Isso é único dentro de um projeto. |
`firebase.identidades` | Um mapa de todas as identidades associadas à conta deste usuário. As chaves do mapa podem ser qualquer uma das seguintes: `email`, `phone`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. Os valores do mapa são listas de identificadores exclusivos para cada provedor de identidade 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 login usado para obter esse token. Pode ser uma das seguintes strings: `custom`, `password`, `phone`, `anonymous`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. |
`firebase.tenant` | O tenantId associado à conta, se presente. por exemplo, `tenant2-m6tyz` |
método
regras não nulas.String
O método de solicitação. Um de:
-
get
-
list
-
create
-
update
-
delete
caminho
regras não nulas.Path
Caminho do recurso afetado.
consulta
regras não nulas.Mapa
Mapa das propriedades da consulta, quando presente.
-
limit
- cláusula de limite de consulta. -
offset
- cláusula de deslocamento de consulta. -
orderBy
- consulta a cláusula orderBy.
Exemplo
// Limit documents per request to 50
allow list: if request.query.limit <= 50
recurso
regras não nulas.firestore.Resource
O novo valor do recurso, presente apenas em solicitações de gravação.
tempo
Quando a solicitação foi recebida pelo serviço.
Para operações de gravação do Firestore que incluem carimbos de data/hora do servidor, esse tempo 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