介面:要求

屬性

auth

rules.Map

要求驗證內容。

  • uid:提出要求的使用者 UID。
  • token:JWT 權杖憑證附加資訊的對應。

token 對應包含下列值:


欄位 說明
`email` 與帳戶相關聯的電子郵件地址 (如有)。
「email_verified」 如果使用者已驗證可存取 `email`,則為「true」 讓我們看看 DNS 解析 進一步探索內部和外部位址
「phone_number」 與帳戶相關聯的電話號碼 (如果有的話)。
`name` 使用者的顯示名稱 (如有設定)。
`sub` 使用者的 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.用戶群」 與帳戶相關聯的 LoyaltyId (如有)。例如:「用戶群 2-m6tyz」

method

非空值 rules.String

要求方法。下列其中一項權限:

  • get
  • list
  • create
  • update
  • delete

路徑

非空值 rules.Path

受影響資源的路徑。

查詢

非空值 rules.Map

查詢屬性對應 (如有)。

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

範例

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

資源

非空值 rules.firestore.Resource

新資源值,只會出現在寫入要求中。

時間

非空值 rules.Timestamp

服務收到要求的時間。

針對含有伺服器端時間戳記的 Firestore 寫入作業, 這個時間要等於伺服器的時間戳記。

範例

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