Android 如何使用firebase auth和firestore,以便用户能够';t访问其他用户';通过修改应用程序';s代码?
在获得用户令牌和用户电子邮件名称后,我在应用程序中使用firebase进行身份验证 我通过用户电子邮件登录firestore获取用户数据,我可以通过用户电子邮件获取用户的所有数据 我的firestore的结构: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中的任何数据。我的问
- 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安全规则的官方视频:我建议学习安全规则:我建议学习安全规则: