У меня есть приложение Flutter, в котором я слушаю изменения аутентификации из Firebase для отображения правильного экрана с помощью StreamProvider. Что я хотел бы сделать, так это сопоставить FirebaseUser с настраиваемым объектом User, который будет извлекаться из Firestore, чтобы он был доступен из любого места в дереве виджетов.
Есть ли способ добиться этого?
Что я сейчас делаю:
class AuthService {
final FirebaseAuth _auth = FirebaseAuth.instance;
Stream<FirebaseUser> get user {
return _auth.onAuthStateChanged;
}
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamProvider<FirebaseUser>.value(
value: AuthService().user,
child: MaterialApp(...)