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 void RedactedPasswordCleared() { var user = new ExportedUserRecord(new GetAccountInfoResponse.User() { UserId = "user1", PasswordHash = Convert.ToBase64String(Encoding.UTF8.GetBytes("REDACTED")), }); Assert.Null(user.PasswordHash); }
public async Task <IEnumerable <Users> > GetAllUsers() { var users = FirebaseAuth.DefaultInstance.ListUsersAsync(null).GetEnumerator(); List <Users> listOfUsers = new List <Users>(); while (await users.MoveNext()) { ExportedUserRecord userRecord = users.Current; listOfUsers.Add(new Users { Email = userRecord.Email, DisplayName = userRecord.DisplayName, PhotoUrl = userRecord.PhotoUrl, PhoneNumber = userRecord.PhoneNumber, UserId = userRecord.Uid, }); } return(listOfUsers); }
public void UidOnly() { var user = new ExportedUserRecord(new GetAccountInfoResponse.User() { UserId = "user1", }); Assert.Equal("user1", user.Uid); Assert.Null(user.DisplayName); Assert.Null(user.Email); Assert.Null(user.PhoneNumber); Assert.Null(user.PhotoUrl); Assert.Equal("firebase", user.ProviderId); Assert.False(user.Disabled); Assert.False(user.EmailVerified); Assert.Equal(UserRecord.UnixEpoch, user.TokensValidAfterTimestamp); Assert.Empty(user.CustomClaims); Assert.Empty(user.ProviderData); Assert.NotNull(user.UserMetaData); Assert.Null(user.UserMetaData.CreationTimestamp); Assert.Null(user.UserMetaData.LastSignInTimestamp); Assert.Null(user.PasswordHash); Assert.Null(user.PasswordSalt); }
public void AllProperties() { var response = new GetAccountInfoResponse.User() { UserId = "user1", DisplayName = "Test User", Email = "*****@*****.**", PhoneNumber = "+11234567890", PhotoUrl = "https://domain.com/user.png", Disabled = true, EmailVerified = true, ValidSince = 3600, CreatedAt = 100, LastLoginAt = 150, CustomClaims = @"{""admin"": true, ""level"": 10}", PasswordHash = "secret", PasswordSalt = "nacl", Providers = new List <GetAccountInfoResponse.Provider>() { new GetAccountInfoResponse.Provider() { ProviderID = "google.com", UserId = "googleuid", }, new GetAccountInfoResponse.Provider() { ProviderID = "other.com", UserId = "otheruid", DisplayName = "Other Name", Email = "*****@*****.**", PhotoUrl = "https://other.com/user.png", PhoneNumber = "+10987654321", }, }, }; var user = new ExportedUserRecord(response); Assert.Equal("user1", user.Uid); Assert.Equal("Test User", user.DisplayName); Assert.Equal("*****@*****.**", user.Email); Assert.Equal("+11234567890", user.PhoneNumber); Assert.Equal("https://domain.com/user.png", user.PhotoUrl); Assert.Equal("firebase", user.ProviderId); Assert.True(user.Disabled); Assert.True(user.EmailVerified); Assert.Equal(UserRecord.UnixEpoch.AddSeconds(3600), user.TokensValidAfterTimestamp); Assert.Equal("secret", user.PasswordHash); Assert.Equal("nacl", user.PasswordSalt); var claims = new Dictionary <string, object>() { { "admin", true }, { "level", 10L }, }; Assert.Equal(claims, user.CustomClaims); Assert.Equal(2, user.ProviderData.Length); var provider = user.ProviderData[0]; Assert.Equal("google.com", provider.ProviderId); Assert.Equal("googleuid", provider.Uid); Assert.Null(provider.DisplayName); Assert.Null(provider.Email); Assert.Null(provider.PhoneNumber); Assert.Null(provider.PhotoUrl); provider = user.ProviderData[1]; Assert.Equal("other.com", provider.ProviderId); Assert.Equal("otheruid", provider.Uid); Assert.Equal("Other Name", provider.DisplayName); Assert.Equal("*****@*****.**", provider.Email); Assert.Equal("+10987654321", provider.PhoneNumber); Assert.Equal("https://other.com/user.png", provider.PhotoUrl); var metadata = user.UserMetaData; Assert.NotNull(metadata); Assert.Equal(UserRecord.UnixEpoch.AddMilliseconds(100), metadata.CreationTimestamp); Assert.Equal(UserRecord.UnixEpoch.AddMilliseconds(150), metadata.LastSignInTimestamp); }