Exemple #1
0
        public async Task <bool> ValidateConfirmationCodeAsync(PasswordConfirmationCodeDTO confirmationCodeDto)
        {
            var passwordConfirmCode = await _unitOfWork.PasswordConfirmationCodeRepository.GetPasswordConfirmationCodeByUserIdAsync(confirmationCodeDto.UserId);

            TimeSpan timeAfterCodeCreation = DateTime.Now - passwordConfirmCode.CreateDate;

            if (timeAfterCodeCreation > PasswordCodeTimeout)
            {
                throw new ApiException(HttpStatusCode.Gone, "Reset password code timeout expired.");
            }

            var isValidCode = confirmationCodeDto.Code == passwordConfirmCode.Code;

            return(isValidCode);
        }
        public async Task <IActionResult> ValidateCode(PasswordConfirmationCodeDTO confirmationCodeDto)
        {
            var isValid = await _confirmPasswordService.ValidateConfirmationCodeAsync(confirmationCodeDto);

            return(Ok(isValid));
        }