Android 如何使用firebase auth和firestore,以便用户能够';t访问其他用户';通过修改应用程序';s代码?

Android 如何使用firebase auth和firestore,以便用户能够';t访问其他用户';通过修改应用程序';s代码?,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,在获得用户令牌和用户电子邮件名称后,我在应用程序中使用firebase进行身份验证 我通过用户电子邮件登录firestore获取用户数据,我可以通过用户电子邮件获取用户的所有数据 我的firestore的结构: - email_1: + data_1 - email_2: + data_2 一个大问题是,任何人都可以获得我的源代码,他们可以使用电子邮件登录,然后在源代码中硬编码另一封电子邮件,并从firestore获取数据,因此他们可以访问firestore中的任何数据。我的问

在获得用户令牌和用户电子邮件名称后,我在应用程序中使用firebase进行身份验证

我通过用户电子邮件登录firestore获取用户数据,我可以通过用户电子邮件获取用户的所有数据

我的firestore的结构:

 - email_1:
   + data_1
 - email_2:
   + data_2

一个大问题是,任何人都可以获得我的源代码,他们可以使用电子邮件登录,然后在源代码中硬编码另一封电子邮件,并从firestore获取数据,因此他们可以访问firestore中的任何数据。我的问题是,如何实现隔离?

既然您已经在使用Firebase身份验证,您应该使用它

在Firestore结构中,您应该编写一些规则,根据用户的电子邮件(与Firebase身份验证中的用户帐户关联的电子邮件,如果我没有弄错的话,该电子邮件与您结构中的电子邮件相对应)限制对用户文档的访问

例如,如果文档位于
用户
集合中,则可以使用读取访问权限对其进行保护,如下所示:

service cloud.firestore {
  match /databases/{database}/documents {

    match /users/{userEmail} {
      allow read: if request.auth.email == userEmail;
      allow write: ....
    }
  }
}
如上面提到的文档项所述,
auth.token
变量包含不同的值,如
email
email\u verified


您应该学习以使安全规则适应您的确切需要。强烈建议观看有关Firestore安全规则的官方视频:

,因为您已经在使用Firebase身份验证,您应该使用

在Firestore结构中,您应该编写一些规则,根据用户的电子邮件(与Firebase身份验证中的用户帐户关联的电子邮件,如果我没有弄错的话,该电子邮件与您结构中的电子邮件相对应)限制对用户文档的访问

例如,如果文档位于
用户
集合中,则可以使用读取访问权限对其进行保护,如下所示:

service cloud.firestore {
  match /databases/{database}/documents {

    match /users/{userEmail} {
      allow read: if request.auth.email == userEmail;
      allow write: ....
    }
  }
}
如上面提到的文档项所述,
auth.token
变量包含不同的值,如
email
email\u verified


您应该学习以使安全规则适应您的确切需要。强烈建议观看有关Firestore安全规则的官方视频:

我建议学习安全规则:我建议学习安全规则: