public void Test_ResetVerificationCodeForNumber()
        {
            // Arrange
            var verificationHelper    = new SmsVerificationHelper(GetCache(), _appSettings);
            var testNumber            = "+17075555555";
            var verificationCodeMsg   = verificationHelper.GenerateMessageWithVerificationCode(testNumber);
            var verificationCodeRegEx = new Regex(@"[0-9]{6,}", RegexOptions.IgnoreCase);
            var verificationCode      = verificationCodeRegEx.Match(verificationCodeMsg).Value;

            Assert.True(verificationHelper.VerifyCode(testNumber, verificationCode));

            // Act
            verificationHelper.ResetVerificationCodeForNumber(testNumber);

            // Assert
            Assert.False(verificationHelper.VerifyCode(testNumber, verificationCode));
        }
        public ObjectResult ResetVerificationCode([FromBody] ResetRequest request)
        {
            string clientSecret = request.client_secret;
            string phone        = request.phone;

            if (clientSecret == null | phone == null)
            {
                return(StatusCode(500, "The client_secret and phone parameters are required."));
            }

            if (_appSettings.CLIENT_SECRET != clientSecret)
            {
                return(StatusCode(500, "The client_secret parameter does not match."));
            }

            _smsVerificationHelper.ResetVerificationCodeForNumber(phone);

            return(new ObjectResult(new Dictionary <string, string>()
            {
                { "success", "true" },
                { "phone", phone }
            }));
        }