in FirebaseAdmin/FirebaseAdmin.IntegrationTests/Auth/AbstractFirebaseAuthTest.cs [533:595]
public async Task ImportUsersWithPassword()
{
var randomUser = TemporaryUserBuilder.RandomUserRecordArgs();
var args = new ImportUserRecordArgs()
{
Uid = randomUser.Uid,
Email = randomUser.Email,
DisplayName = "Random User",
PhotoUrl = "https://example.com/photo.png",
EmailVerified = true,
PasswordSalt = Encoding.ASCII.GetBytes("NaCl"),
PasswordHash = Convert.FromBase64String("V358E8LdWJXAO7muq0CufVpEOXaj8aFiC7"
+ "T/rcaGieN04q/ZPJ08WhJEHGjj9lz/2TT+/86N5VjVoc5DdBhBiw=="),
CustomClaims = new Dictionary<string, object>()
{
{ "admin", true },
},
UserProviders = new List<UserProvider>
{
new UserProvider()
{
Uid = randomUser.Uid,
Email = randomUser.Email,
DisplayName = "John Doe",
PhotoUrl = "http://example.com/123/photo.png",
ProviderId = "google.com",
},
new UserProvider()
{
Uid = "fb.uid",
Email = "johndoe@gmail.com",
DisplayName = "John Doe",
PhotoUrl = "http://example.com/123/photo.png",
ProviderId = "facebook.com",
},
},
};
var options = new UserImportOptions()
{
Hash = new Scrypt()
{
Key = Convert.FromBase64String("jxspr8Ki0RYycVU8zykbdLGjFQ3McFUH0uiiTvC"
+ "8pVMXAn210wjLNmdZJzxUECKbm0QsEmYUSDzZvpjeJ9WmXA=="),
SaltSeparator = Convert.FromBase64String("Bw=="),
Rounds = 8,
MemoryCost = 14,
},
};
var usersLst = new List<ImportUserRecordArgs>() { args };
var resp = await this.Auth.ImportUsersAsync(usersLst, options);
this.userBuilder.AddUid(randomUser.Uid);
Assert.Equal(1, resp.SuccessCount);
Assert.Equal(0, resp.FailureCount);
var user = await this.Auth.GetUserAsync(randomUser.Uid);
Assert.Equal(randomUser.Email, user.Email);
var idToken = await AuthIntegrationUtils.SignInWithPasswordAsync(
randomUser.Email, "password", this.fixture.TenantId);
Assert.False(string.IsNullOrEmpty(idToken));
}