我在Firebase中遇到问题,无法统一。登录或创建新帐户后,尝试基于刚刚登录/创建的帐户的uid写入应可写的数据库区域时,出现数据库权限错误。但是我遇到了权限错误:
Firebase.Database.DatabaseException:Firebase数据库错误:权限被拒绝
这是我的数据库规则:
{
"rules": {
".read": true,
"unlimited_enabled": {
"$uid": {
".write": "$uid == auth.uid"
}
}
}
}
以下是Task
失败的原因,但以上例外:
FirebaseDatabase.DefaultInstance.RootReference.Child("unlimited_enabled").Child(FirebaseAuth.DefaultInstance.CurrentUser.UserId).SetValueAsync(true);
如果用户在启动应用程序时已经(自动)从上一个会话登录到帐户,则上述任务成功。对我来说,这似乎是firebase中的错误,但也许我缺少了一些东西。
我认为登录/创建帐户与auth.uid更新之间可能会有延迟,但是我已经等待了几分钟,但仍然无法正常工作。但是,一旦我重新启动应用程序,它就可以工作。
用于登录,我只使用:
auth.SignInWithCredentialAsync(credential)
为了创建帐户,我正在使用:
auth.CreateUserWithEmailAndPasswordAsync(email, password)
有什么想法吗?