public async Task <bool> AuthenticateSmsCode(string phoneNumber, string smsAuthCode) { if (!ValidationHelper.IsMobilePhone(phoneNumber)) { throw new UserFriendlyException(L("InvalidPhoneNumber", phoneNumber)); } return(await _smsAuthManager.AuthenticateSmsCode(phoneNumber, smsAuthCode)); }
public async Task <bool> ResetSelfPasswordBySms(SmsResetPasswordDto input) { if (!await _smsAuthManager.AuthenticateSmsCode(input.PhoneNumber, input.AutoCode)) { throw new UserFriendlyException("Wrong authentication code."); } var user = await _userManager.GetUserByIdAsync(input.UserId); if (user == null) { throw new UserFriendlyException("User not exist."); } if (user.PhoneNumber != input.PhoneNumber) { throw new UserFriendlyException("Wrong mobile phone number."); } user.Password = _passwordHasher.HashPassword(user, input.NewPassword); CurrentUnitOfWork.SaveChanges(); return(true); }