授權

識別你的使用者只是安全性的一部分。一旦你知道他們是誰,你就需要一種方法來控制他們對資料庫中資料的訪問。Firebase 資料庫規則允許你控制每個使用者的訪問許可權。例如,這裡有一組安全規則,允許任何人讀取路徑/foo/,但沒有人寫入它:

{
  "rules": {
    "foo": {
      ".read": true,
      ".write": false
    }
  }
}

.read.write 規則級聯,因此此規則集授予對 path / foo /以及任何更深層路徑(如/foo/bar/baz)的任何資料的讀訪問許可權。請注意,允許訪問的 .read.write 規則將覆蓋資料庫中不允許訪問的其他規則; 換句話說,所有適用的,.read.write 規則是 ORed 在一起)。因此,即使路徑/foo/bar/baz 上的規則評估為 false,仍將在此示例中授予對/foo/bar/baz 的讀取許可權。

Firebase 資料庫規則包含內建變數和函式,允許你引用其他路徑,伺服器端時間戳,身份驗證資訊等。以下是為經過身份驗證的使用者授予對/users/<uid>/的寫訪問許可權的規則示例,其中是通過 Firebase 身份驗證獲取的使用者的 ID。

{
  "rules": {
    "users": {
      "$uid": {
        ".write": "$uid === auth.uid"
      }
    }
  }
}