コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }