public async Task <bool> ResetPasswordAsync(ResetPasswordRq model) { try { var user = await _userManager.FindByEmailAsync(model.Email); string code = await _userManager.GeneratePasswordResetTokenAsync(user); if (user == null) { return(false); } var result = await _userManager.ResetPasswordAsync(user, code, model.Password); if (!result.Succeeded) { return(false); } await _uow.SaveChangesAsync(); await _emailService.SendEmailResetPasswordAsync(user.Email, user.UserName); return(true); } catch (Exception e) { throw e; } }
public async Task <IActionResult> ResetPasswordWebAsync([FromBody] ResetPasswordRq model) { try { return(Ok(await _authService.ResetPasswordAsync(model))); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <IActionResult> ResetPasswordByPhoneNumberAsync([FromBody] ResetPasswordRq model) { try { return(Ok(await _authService.ChangePasswordMobileByPhoneAsync(model))); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <bool> ChangePasswordMobileByPhoneAsync(ResetPasswordRq model) { try { string netCode = _userRepository.GetNetResetCodeByResetCode(model.Code); if (netCode.Equals(string.Empty)) { return(false); } var user = await _userRepository.GetUserByPhoneNumber(model.PhoneNumber); if (user == null) { return(false); } var result = await _userManager.ResetPasswordAsync(user, netCode, model.Password); if (!result.Succeeded) { return(false); } await _uow.SaveChangesAsync(); await _emailService.SendEmailResetPasswordAsync(user.Email, user.UserName); return(true); } catch (Exception e) { throw e; } }