Я использую firebase для аутентификации пользователей в моем приложении, и вход / регистрация, и выход из системы работает правильно, когда я выхожу с домашней страницы сразу после страницы входа, но не работает, когда я выхожу со страницы настроек перенаправлено с домашней страницы.
Он вышел из Firebase, но страница не вернется на страницу входа, немедленно вызывая выход из системы, если я не нажму кнопку «Назад» на панели приложения.
Это моя функция выхода:
abstract class BaseAuth {
Future<void> signOut();
}
Future<void> signOut() async {
return _firebaseAuth.signOut();
}
final BaseAuth auth;
final VoidCallback onSignedOut;
_signOut() async {
try {
await widget.auth.signOut();
widget.onSignedOut();
} catch (e) {
print(e);
}
}
На моей корневой странице есть:
@override
Widget build(BuildContext context) {
switch (authStatus) {
case AuthStatus.NOT_DETERMINED:
return _buildWaitingScreen();
break;
case AuthStatus.NOT_LOGGED_IN:
return new LoginSignUpPage(
auth: widget.auth,
onSignedIn: _onLoggedIn,
);
break;
case AuthStatus.LOGGED_IN:
if (_userId.length > 0 && _userId != null) {
return new HomePage(
userId: _userId,
auth: widget.auth,
onSignedOut: _onSignedOut,
);
} else return _buildWaitingScreen();
break;
default:
return _buildWaitingScreen();
}
}
Таким образом, если статус аутентификации не зарегистрирован, он должен вернуться обратно к LoginSignUpPage.
Я не уверен, почему происходит такая задержка.
Любая помощь будет оценена!