【发布时间】:2021-03-31 17:56:44
【问题描述】:
我目前正在开发一个应用程序,并且该用户需要创建一个新帐户。您输入名字和姓氏,然后应用程序会自动建议一个唯一的用户名,它将是该用户的文档名称。我已将 Firestore 安全规则设置如下,
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
在用户输入用户名后,它会检查用户名是否被使用,然后移动到下一个屏幕。
Future<bool> checkUsernameExist(String name)async{
bool usernameExistSate;
await firestore.collection('users').doc(name).get().then((docSnapShot){
if(docSnapShot.exists){
usernameExistSate = true;
}else{
usernameExistSate = false;
}
});
return usernameExistSate;
}
目前上述系统工作正常,没有任何问题。但是我有一个问题,在将 Firebase 安全规则设置为以下条件的情况下,用户如何能够阅读文档以检查是否存在类似的文档名称?
允许读、写:如果 request.auth != null;
【问题讨论】:
-
用户需要先登录才能阅读该集合。如果这是您的用例的问题,请考虑不要求他们登录。
标签: flutter google-cloud-firestore firebase-authentication firebase-security