public UserManageResult CreateUser(string email, SecureString password) { IdentityUser user = _bifUserStore.LoadUserByEmail(email); if (user != null) { return new UserManageResult { Success = false, Errors = new List <string> { "User already exists." } } } ; bool passwordIsValid = validatePassword(password.Unsecure()); if (!passwordIsValid) { return new UserManageResult { Success = false, Errors = new List <string> { "Password does not meet minimum complexity requirements." } } } ; byte[] salt = CryptoTools.CreateSalt(); user = new IdentityUser { Id = Guid.NewGuid().ToString(), Entropy = salt, Email = email.Trim(), PasswordHash = password.HashValue(salt), LastLogin = DateTime.UtcNow }; _bifUserStore.Add(user); _bifUserStore.Update(); return(new UserManageResult { Success = true }); }