public IActionResult LogIn([FromBody] LogInModel logInModel) { var account = accountsRepository.GetAccountByUsername(logInModel.Username); if (account == null) { return(BadRequest(invalidAccountOrUserError)); } var accountsPassword = accountsRepository.GetAccountHashedPassword(account.UserName); var isPasswordValid = authenticationService.ComparePasswords(logInModel.Password, accountsPassword); if (!isPasswordValid) { return(BadRequest(invalidAccountOrUserError)); } var returnAccount = new { account.EntityId, account.Name, account.Surname, account.Address, account.UserName, account.Role }; return(Ok(returnAccount)); }
public void AuthenticateUser(MemberLoginDetails details) { Account account = _accounts.GetAccountByUsername(details.UserName); if (account == null) { throw new Exception("Invalid username or password"); } if (_hasher.SaltedPassword(details.Password, account.Salt) != account.Password) { throw new Exception("Invalid username or password"); } }
public async Task BanUser(int ownerId, string userName) { var user = accountsRepository.GetAccountByUsername(userName); if (user == null) { throw new Exception(); } var blockedUser = new BlockedUsers() { AccountId = user.AccountId, OwnerId = ownerId }; await blockedUsersRepository.AddAsync(blockedUser); }