Это мой код выхода:
onPressed: () async {
await FirebaseAuth.instance.signOut();
await widget.checkLogin();
},
Это моя функция CheckLogin:
checkLogin() async {
if (FirebaseAuth.instance.currentUser != null) {
login = true;
setState(() {});
} else {
login = false;
setState(() {});
}
}
Ошибка, которую он выдает мне после выхода из системы, следующая:
Unhandled Exception: [firebase_database/permission-denied] Client doesn't have permission to access the desired data.
С разными попытками понял, что проблема кроется в этих строчках кода, но как исправить не знаю...
if (FirebaseAuth.instance.currentUser != null) {
WidgetsBinding.instance.addPostFrameCallback((_) async {
DatabaseReference ref = FirebaseDatabase.instance.ref("temp");
if (FirebaseAuth.instance.currentUser != null) {
ref.onValue.listen((DatabaseEvent event) {
final snapshot = event.snapshot.value;
if (snapshot != null) {
Object? temp = snapshot;
if (mounted) {
setState(() {});
}
}
});
}
});
}
Кто-нибудь знает, как исправить?
0
Jonathan
16 Ноя 2022 в 10:47
1 ответ
Перейдите в консоль Firebase и обновите свои правила следующим образом.
Выберите базу данных из бокового меню --> Выберите правило из вкладок выше --> Обновите правило следующим образом.
{
"rules": {
".read": true,
".write": true
}
}
0
MrShakila
16 Ноя 2022 в 11:35
Для чего мне нужно, чтобы правила в базе данных диктовали, что пользователь должен быть аутентифицирован для чтения или записи
– Jonathan
16 Ноя 2022 в 12:15
Если вы разрабатываете приложение, вы можете попробовать изменить эти значения, чтобы решить вашу проблему, если это не решит вашу проблему, пожалуйста, добавьте комментарий
– MrShakila
16 Ноя 2022 в 12:17
Ваше временное решение, мне нужно окончательное решение, так как они находятся в предзапуске
– Jonathan
16 Ноя 2022 в 12:20
Похожие вопросы
Новые вопросы
flutter
Используйте этот тег для вопросов о наборе инструментов кроссплатформенного пользовательского интерфейса Flutter. Если ваш вопрос касается конкретной платформы, отметьте ее также (например, [android], [ios] и т. д.). Вы также можете включить тег [dart] для вопросов по кодированию.
FirebaseDatabase.instance.ref("temp");