//public async Task<IResponseModel> RegisterClientAsync(ClientModel model) //{ // try // { // var client = new Client // { // Id = Guid.NewGuid(), // Email = model.Email, // ApiKey = Guid.NewGuid() // }; // _db.Clients.Add(client); // await _db.SaveChangesAsync(); // _response.Status = true; // _response.Message = "Client registration successful."; // return _response; // } // catch (Exception ex) // { // _response.Status = false; // _response.Message = "Client registration error."; // return _response; // } //} //public async Task<ClientModel> VerifyClientAsync(ClientModel model) //{ // try // { // var clientInfo = await _db.Clients.Where(u => u.Email == model.Email && u.ApiKey == model.ApiKey).SingleOrDefaultAsync(); // if (clientInfo == null) return null; // return new ClientModel // { // Email = clientInfo.Email, // ClientId = clientInfo.Id // }; // } // catch (Exception ex) // { // throw; // } //} //public TokenModel GenerateJwt(ClientModel model) //{ // var token = new JwtTokenBuilder(_config); // return new TokenModel // { // AccessToken = token.GenerateToken(), // Email = model.Email // }; //} #endregion #region User Authentication public async Task <IResponseModel> RegisterUserAsync(IUserModel model) { try { var salt = PasswordHash.GenerateSalt(); var passwordHash = PasswordHash.ComputeHash(model.Password, salt); var user = new User { Id = Guid.NewGuid(), //ClientId = ClientAppHelper.ClientApp, Username = model.Username, Password = Convert.ToBase64String(passwordHash), Salt = Convert.ToBase64String(salt) }; _db.Users.Add(user); await _db.SaveChangesAsync(); _response.Status = true; _response.Message = "User registration successful."; return(_response); } catch (Exception ex) { _response.Status = false; _response.Message = "User registration error."; return(_response); } }
public async Task AccountService_RegisterUserAsync_Test() { try { using (db = new DatabaseContext(dbBuilder.Options)) { var userModel = new UserModel { Username = null, Password = "******", FirstName = "Test", LastName = "Test" }; var salt = PasswordHash.GenerateSalt(); var passwordHash = PasswordHash.ComputeHash(userModel.Password, salt); var user = new ApplicationUser { Id = Guid.NewGuid(), ClientId = config["AppConfiguration:Audience"], Email = userModel.Username, Password = Convert.ToBase64String(passwordHash), FirstName = userModel.FirstName, LastName = userModel.LastName, EmailConfirmed = false, DateRegistered = DateTime.UtcNow, Salt = Convert.ToBase64String(salt) }; db.Users.Add(user); var result = await db.SaveChangesAsync(); Assert.IsTrue(result == 1); } } catch (Exception ex) { logService.Log("Register User", ex.InnerException.Message, ex.Message, ex.StackTrace); Assert.Fail(ex.Message); } }
public async Task <IResponseModel> RegisterUserAsync(IUserModel model) { try { var salt = PasswordHash.GenerateSalt(); var passwordHash = PasswordHash.ComputeHash(model.Password, salt); var user = new ApplicationUser { Id = Guid.NewGuid(), ClientId = _config["AppConfiguration:Audience"], Email = model.Username, Password = Convert.ToBase64String(passwordHash), FirstName = model.FirstName, LastName = model.LastName, EmailConfirmed = false, DateRegistered = DateTime.UtcNow, Salt = Convert.ToBase64String(salt) }; _db.Users.Add(user); await _db.SaveChangesAsync(); _response.Status = true; _response.Message = "Registration Successful."; return(_response); } catch (Exception ex) { _loggerService.Log("Register User", ex.InnerException.Message, ex.Message, ex.StackTrace); _response.Status = false; _response.Message = "Registration Error."; return(_response); } }