Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

快速驗證 Firebase 安全規則

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

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

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

使用規則遊樂場

  1. 打開Firebase 控制台並選擇您的項目。
  2. 然後,從產品導航中執行以下操作之一:
    • 根據需要選擇Realtime DatabaseCloud FirestoreStorage ,然後單擊Rules以導航到 Rules 編輯器。
  3. 完成編輯後,單擊編輯器中的Rules Playground
  4. Rules Playground設置中,為您的測試選擇選項,包括:
    • 測試讀取或寫入。
    • 數據庫或存儲桶中的特定位置,作為路徑。
    • 身份驗證類型 — 未經身份驗證、經過身份驗證的匿名用戶或特定用戶 ID。
    • 您的規則特別引用的文檔特定數據(例如,如果您的規則要求在允許寫入之前存在特定字段)。
  5. 單擊運行並在編輯器上方的橫幅中查找結果。

示例規則遊樂場場景

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

雲端 Firestore

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;
    }
  }
}
  • 在規則編輯器中,添加上面給出的規則。

  • 模擬類型下拉菜單中選擇獲取,然後在位置字段中輸入有效路徑。

  • 切換身份驗證並從提供商下拉列表中選擇一種身份驗證類型。

  • 輸入用戶 ID 詳細信息並單擊運行

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