public async Task <OperationResult> ChangePassword(UserRecoverDto recoverDto) { var result = new OperationResult(); var user = await userRepository.GetUserByRecoveryAddress(recoverDto.RecoveryString); if (user == null) { result.IsSuccessful = false; result.Message = "Podano zły link przywracania !"; return(result); } user.Salt = GetSalt(); user.Password = ComputeHash(user.Salt, recoverDto.NewPassword); user.RecoveryAddress = ""; var repoResult = await userRepository.SaveChangesAsync(); if (repoResult > 0) { result.IsSuccessful = true; result.Message = "Hasło zostało zmienione !"; } else { result.IsSuccessful = false; result.Message = "Ups coś poszło nie tak !"; } return(result); }
public async Task <IActionResult> Recover(UserRecoverDto userRecover) { if (!await _auth.Recover(userRecover.Email.ToLower())) { return(BadRequest("Email doesn't exist")); } return(Ok()); }
public async Task <IActionResult> ChangePassword(UserRecoverDto userRecoverDto) { var result = await _loginService.ChangePassword(userRecoverDto); if (result.IsSuccessful) { return(Ok(result.Message)); } return(StatusCode(500, result.Message)); }