internal static async Task ListAllUsersAsync() { // [START list_all_users] // Start listing users from the beginning, 1000 at a time. var pagedEnumerable = FirebaseAuth.DefaultInstance.ListUsersAsync(null); var responses = pagedEnumerable.AsRawResponses().GetEnumerator(); while (await responses.MoveNext()) { ExportedUserRecords response = responses.Current; foreach (ExportedUserRecord user in response.Users) { Console.WriteLine($"User: {user.Uid}"); } } // Iterate through all users. This will still retrieve users in batches, // buffering no more than 1000 users in memory at a time. var enumerator = FirebaseAuth.DefaultInstance.ListUsersAsync(null).GetEnumerator(); while (await enumerator.MoveNext()) { ExportedUserRecord user = enumerator.Current; Console.WriteLine($"User: {user.Uid}"); } // [END list_all_users] }
public async Task <ListDataResult <AppUserDto> > ListUsersAsync(string pageToken) { var users = new List <AppUserDto>(); string nextPageToken = null; var pagedEnumerable = _firebaseAuth.ListUsersAsync(new ListUsersOptions { PageToken = pageToken }); var responses = pagedEnumerable.AsRawResponses().GetAsyncEnumerator(); while (await responses.MoveNextAsync()) { ExportedUserRecords response = responses.Current; nextPageToken = response.NextPageToken; foreach (ExportedUserRecord user in response.Users) { // user.UserMetaData.LastSignInTimestamp users.Add(user.To <AppUserDto>()); } } return(new ListDataResult <AppUserDto>(nextPageToken, users)); }
public async void Get() { PrivateKeyModel privateKey = new PrivateKeyModel() { AuthProviderX509CertUrl = Constants.AuthProviderX509CertUrl, AuthUri = Constants.AuthUri, ClientEmail = Constants.ClientEmail, ClientId = Constants.ClientId, ClientX509CertUrl = Constants.ClientX509CertUrl, PrivateKey = Constants.PrivateKey, PrivateKeyId = Constants.PrivateKeyId, ProjectId = Constants.ProjectId, TokenUri = Constants.TokenUri, Type = Constants.Type }; var privateKeyJson = JsonConvert.SerializeObject(privateKey); if (FirebaseApp.DefaultInstance == null) { FirebaseApp.Create(new AppOptions() { Credential = GoogleCredential.FromJson(privateKeyJson) }); } // Start listing users from the beginning, 1000 at a time. var pagedEnumerable = FirebaseAuth.DefaultInstance.ListUsersAsync(null); var responses = pagedEnumerable.AsRawResponses().GetAsyncEnumerator(); while (await responses.MoveNextAsync()) { ExportedUserRecords response = responses.Current; foreach (ExportedUserRecord user in response.Users) { if (user.CustomClaims.ContainsKey("Role")) { FirebaseUsers.Add( new FirebaseUserModel { UId = user.Uid, DisplayName = user.DisplayName, Email = user.Email, Role = user?.CustomClaims["Role"]?.ToString(), EmailVerified = user.EmailVerified } ); } else { FirebaseUsers.Add( new FirebaseUserModel { UId = user.Uid, DisplayName = user.DisplayName, Email = user.Email, EmailVerified = user.EmailVerified } ); } } } }