在 Firebase-RealtimeDatabase 上使用什么规则来让用户注册和登录?

el *_*blo 3 android json firebase firebase-realtime-database

为了让 Android 用户通过我的应用程序注册和登录,我将.read.write设置为true。我的问题是任何人都可以访问用户 JSON 文件,因为它是public。如何仅通过应用程序和 Firebase 控制台限制对数据库的访问?以下是规则:

{
    "rules": {
        ".read": true,
        ".write": true
    }
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*amo 5

使用以下规则:

{
  "rules": {
      ".read": "auth != null",
      ".write": "auth != null"
  }
}
Run Code Online (Sandbox Code Playgroud)

您将仅向经过身份验证的用户授予readwrite访问权限。有关更多信息,请参阅有关Firebase 安全规则的官方文档。

根据您的评论,您应该验证执行操作的用户是否实际上是经过身份验证的用户。例如,假设您只希望经过身份验证的用户能够访问他们的帐户,则需要以下规则:

{
  "rules": {
    "users": {
      "$uid":{
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果我使用这些规则,我会收到以下消息:“您的安全规则不安全。任何经过身份验证的用户都可以窃取、修改或删除您数据库中的数据。” (2认同)