如何确保用户只能在firebase中查看和访问自己的数据?

Xi *_*Wei 2 android firebase firebase-security firebase-authentication

我是firebase的新手.在我的Android应用中,我希望每个用户只能访问他创建的数据.我正在阅读https://www.firebase.com/docs/security/guide/securing-data.html,但没有太多意义.假设我已经使用电子邮件和密码登录,

  1. 我该如何编写Firebase规则?
  2. 如何在我的Android Java代码中写入我的Firebase数据?

谢谢!

Firebase规则

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

Java代码

myFirebaseRef.child("message").setValue("This is the message");
Run Code Online (Sandbox Code Playgroud)

Xi *_*Wei 7

感谢Joey Roosing,我能够弄清楚其余部分.我需要根据用户的uid对数据进行分组.

首先,修改Joey提到的Firstbase规则:

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

然后,在我的Java代码中:

Firebase rootRef = new Firebase("https://user-account.firebaseio.com/");
// Assuming the user is already logged in.
Firebase userRef = rootRef.child("users/" + rootRef.getAuth().getUid());
userRef.child("message1").setValue("Hello World");
Run Code Online (Sandbox Code Playgroud)

最后,我的数据看起来像这样:

Firebase数据