gpt4 book ai didi

firebase - 未处理的异常:PlatformException(执行get时出错,PERMISSION_DENIED:权限缺失或不足。,null)

转载 作者:行者123 更新时间:2023-12-03 04:36:06 25 4
gpt4 key购买 nike

每当应用启动时,都会出现此错误。我认为该错误主要是在saveUserInfoFirestore函数中。.我看到许多其他人也有同样的问题原因导致他们的Firestore安全规则,但是我尝试了不同的规则,但仍然显示相同的错误。

final GoogleSignIn gSignIn = GoogleSignIn();
final userReference = Firestore.instance.collection("Users");
void initState(){
super.initState();
pageController=PageController();
gSignIn.onCurrentUserChanged.listen((gSigninAccount) { ControlSingIn(gSigninAccount); },
onError: (gError){
print("Google signin error"+ gError);
});
gSignIn.signInSilently(suppressErrors: false).then((gSigninAccount) { ControlSingIn(gSigninAccount); }).
catchError((onError){
print("Signin silently error"+ onError);
});
}

ControlSingIn(GoogleSignInAccount signInAccount) async{

if(signInAccount != null){
await saveUserInfotoFirestore();
setState(() {
isSignin = true;
});
}else{
setState(() {
isSignin = false;
});
}

}
saveUserInfotoFirestore() async{
final GoogleSignInAccount gCurrentuser = gSignIn.currentUser;
DocumentSnapshot documentSnapshot = await userReference.document(gCurrentuser.id).get();

if(!documentSnapshot.exists){
final username = await Navigator.push(context, MaterialPageRoute(builder: (context)=>CreateAccountPage()));

userReference.document(gCurrentuser.id).setData({
"id": gCurrentuser.id,
"profileName": gCurrentuser.displayName,
"username": username,
"url": gCurrentuser.photoUrl,
"email": gCurrentuser.email,
"bio": "",
"timestamp":timestamp
});
documentSnapshot = await userReference.document(gCurrentuser.id).get();

}
currentUser = User.fromDocument(documentSnapshot);

}
我正在使用以下继承人的Firestore安全规则:
rules_version = '2';
// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
match /databases/{database}/documents {
match /messages/{document=**} {
allow read, write: if true;
}
}
}

最佳答案

您的安全规则仅允许使用此匹配项访问称为“消息”的单个集合:

    match /messages/{document=**} {
allow read, write: if true;
}
但是,您的代码正在尝试编写另一个名为“用户”的集合。您看到权限错误,因为您的规则完全不允许对该集合进行任何访问。您将必须编写另一个规则,以允许足够的访问该集合的权限。
我强烈建议全面检查 documentation的安全规则,以了解如何最好地保护您的应用程序。

关于firebase - 未处理的异常:PlatformException(执行get时出错,PERMISSION_DENIED:权限缺失或不足。,null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64039016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com