getSignedInUser method

Future<AuthenticatedUser?> getSignedInUser()

Implementation

Future<AuthenticatedUser?> getSignedInUser() async {
  AuthenticatedUser? user = getCurrentUser();
  if (user != null) {
    if (user.client == SignInClient.google) {
      return _getSignedInUserFromGoogle(user.provider);
    }
    // Storage can outlive the Firebase session — confirm Auth still has a user.
    if (user.provider == SignInProvider.firebase ||
        (user.provider == null && user.client == null)) {
      final app = customFirebaseApp ??
          (Firebase.apps.isNotEmpty ? Firebase.apps.first : null);
      if (app == null ||
          FirebaseAuth.instanceFor(app: app).currentUser == null) {
        return null;
      }
    }
  }
  return user;
}