public UserAccountModel Login(UserAccountModel userAccountModel) { _logging.Log(LogSeverity.Info, JsonConvert.SerializeObject(userAccountModel)); UserAccount userAccount = userAccountModel.ToEntity(); UserAccount user = _context.UserAccount.FirstOrDefault(u => u.UserName == userAccount.UserName && u.Active); if (user != null) { var hash = new PasswordHash(user.Password); _logging.Log(LogSeverity.Info, $"newhash: {hash}, oldhash: {userAccountModel.Password}"); if (hash.Verify(userAccountModel.Password)) { var userModel = user.ToModel(); userModel.Token = GetToken(userModel.UserAccountId); return(userModel); } } _logging.Log(LogSeverity.Error, "Login Failed", JsonConvert.SerializeObject(userAccountModel)); return(Unauthorized()); }