rules. firestore. 请求
接口 静态
传入请求上下文。
属性
auth
请求身份验证上下文。
uid
- 发出请求的用户的 UID。token
- JWT 令牌声明的映射。
token
映射包含以下值:
字段 | 说明 |
---|---|
“email” | 与账号关联的电子邮件地址(如果存在)。 |
“email_verified” | 如果用户已验证他们有权访问该电子邮件,则为“true” 地址。 |
“phone_number” | 与账号关联的电话号码(如果有)。 |
`名称` | 用户的显示名(如果已设置)。 |
“sub” | 用户的 Firebase UID。此 UID 在项目中是唯一的。 |
“firebase.identities” | 与此用户账号关联的所有身份的映射。 映射的键可以是以下任何一项:`email`、`phone`、 `google.com`、`facebook.com`、`github.com`、`twitter.com`。 地图中每个身份的唯一标识符的列表 与账号关联的提供商相关联。例如: `request.auth.token.firebase.identities["google.com"][0]` 包含 与账号关联的第一个 Google 用户 ID。 |
“firebase.sign_in_provider” | 用于获取此令牌的登录服务提供方。可以是 以下字符串:`custom`、`password`、`phone`、`anonymous`、 `google.com`、`facebook.com`、`github.com`、`twitter.com`。 |
“firebase.tenant” | 与账号关联的租户 ID(如果存在)。例如“tenant2-m6tyz” |
method
非 null rules.String
请求方法。以下之一:
get
list
create
update
delete
路径
非 null rules.Path
受影响资源的路径。
查询
非 null rules.Map
查询属性的映射(如果存在)。
limit
- 查询限制子句。offset
- 查询偏移子句。orderBy
- 查询 orderBy 子句。
示例
// Limit documents per request to 50
allow list: if request.query.limit <= 50
资源
非 null rules.firestore.Resource
新资源值,仅在写入请求时存在。
时间
非 null rules.Timestamp
服务收到请求的时间。
对于包含服务器端时间戳的 Firestore 写入操作: 此时间将等于服务器时间戳。
示例
// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField