web-dev-qa-db-ja.com

1人の管理者ユーザーのみにFirebaseデータベースの書き込みを許可するにはどうすればよいですか?

自分だけが作成できるFirebaseデータベースをセットアップしようとしています。したがって、ユーザーには何も書き込む権限がありません。しかし、誰もがそれを読むことができます。

しかし、ルールを設定できませんでした。電子メール/パスワードログインを使用して作成した管理者ユーザーが1人いて、そのUIDを知っています。私のUIDが次のようになっているとしましょう:dJrGShfgfd2

これらの2つの方法を試しましたが、データベースに書き込むことができませんでした。

{
  "rules": {
    "events": {
      ".read": true,
      ".write": "auth.uid === 'dJrGShfgfd2'"
    }
  }
}

{
  "rules": {
    "users": {
      "$user_id": {
        ".read" : true,
        ".write": "$user_id === 'dJrGShfgfd2'"
      }
    }
  }
}

では、特定のUIDを持つ1人のユーザーだけがデータベースに何かを書き込むことを許可するにはどうすればよいですか?

9
yigitserin

これは機能するはずです:

{
  "rules": {
    ".read": true,
    ".write": "auth.uid === 'dJrGShfgfd2'"
  }
}

世界中の誰もがデータを読み取ることができますが、UID dJrGShfgfd2(および 管理アクセスを持つプロセス )を持つユーザーのみがデータを書き込むことができます。

19