接口:請求

特性

授權

規則.地圖

請求身份驗證上下文。

  • uid - 請求使用者的 UID。
  • token - JWT 令牌宣告的對應。

token映射包含以下值:


場地描述
`電子郵件`與帳戶關聯的電子郵件地址(如果存在)。
`電子郵件已驗證`如果使用者已驗證他們有權存取「電子郵件」位址,則為「true」。
`電話號碼`與帳戶關聯的電話號碼(如果存在)。
`名字`使用者的顯示名稱(如果已設定)。
`子`用戶的 Firebase 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.租戶`與帳戶關聯的tenantId(如果存在)。例如`tenant2-m6tyz`

方法

非空規則.String

請求方法。之一:

  • get
  • list
  • create
  • update
  • delete

小路

非空規則.Path

受影響資源的路徑。

詢問

非空白規則.Map

查詢屬性的對應(如果存在)。

  • limit - 查詢限制子句。
  • offset - 查詢偏移子句。
  • orderBy - 查詢 orderBy 子句。

例子

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

資源

非空rules.firestore.Resource

新的資源值僅在寫入請求時出現。

時間

非空規則.時間戳

當服務收到請求時。

對於包含伺服器端時間戳記的 Firestore 寫入操作,該時間將等於伺服器時間戳記。

例子

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