快速驗證 Firebase 安全規則

要在 Firebase 控制台中快速測試更新的 Firebase 安全規則,請使用 Rules Playground。

當您探索新行為或在編寫規則時快速驗證規則時,規則操場是一種方便的工具。它顯示一條消息,確認根據您為模擬設置的參數允許或拒絕訪問。

使用規則遊樂場

  1. 打開火力地堡控制台,並選擇您的項目。
  2. 然後,從產品導航中,執行以下操作之一:
    • 選擇實時數據庫雲計算公司的FireStore,寄存,適當,然後單擊規則導航到規則編輯器。
  3. 一旦您完成了您的編輯,在編輯器中單擊規則遊樂場
  4. 規則遊樂場設置,選擇選項,為您的測試,其中包括:
    • 測試讀取或寫入。
    • 具體位置在你的數據庫或存儲桶,為路徑。
    • 身份驗證類型 — 未經身份驗證、經過身份驗證的匿名用戶或特定用戶 ID。
    • 您的規則專門引用的特定於文檔的數據(例如,如果您的規則要求在允許寫入之前存在特定字段)。
  5. 單擊運行,並期待在編輯器上方的橫幅結果。

示例規則遊樂場場景

使用以下示例場景和基本規則測試 Rules Playground 行為。

雲防火牆

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

實時數據庫

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

雲儲存

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • 在規則編輯器中,添加上面給出的規則。

  • 選擇從模擬類型下拉菜單中獲得,並在位置字段中輸入一個有效的路徑。

  • 切換上的身份驗證,並從供應商drodpdown認證類型。

  • 輸入用戶ID信息,然後點擊運行

模擬結果顯示在編輯器的頂部。根據您輸入的用戶 ID 詳細信息,您應該會看到一個橫幅,確認成功允許或拒絕讀取。