user property
Stream of AuthUser
which will emit the current user when
the authentication state changes.
Emits AuthUser.empty if the user is not authenticated.
Implementation
Stream<AuthUser> get user {
return _firebaseAuth.authStateChanges().asyncMap((firebaseUser) async {
final authToken = await firebaseUser?.getIdToken(true);
final user = firebaseUser == null
? AuthUser.empty
: firebaseUser.toUser.copyWith(authToken: authToken);
_cache.write(key: userCacheKey, value: user);
return user;
});
}