public async Task <IActionResult> GetSmsPriorityCode(SmsConfirmationRequest model)
        {
            var result = await _confirmationCodesService.GetPriorityCode(model.PartnerId, model.Phone);

            if (result == null)
            {
                return(BadRequest("Code not found."));
            }

            var responseModel = new SmsVerificationCode(result.Code, result.CreationDateTime, result.ExpirationDate);

            return(Ok(responseModel));
        }
Example #2
0
        private static void Check(SmsConfirmationRequest smsConfirmationRequest)
        {
            if (smsConfirmationRequest == null)
            {
                throw new ArgumentNullException(nameof(smsConfirmationRequest));
            }

            if (string.IsNullOrWhiteSpace(smsConfirmationRequest.PhoneNumber))
            {
                throw new ArgumentNullException(nameof(smsConfirmationRequest.PhoneNumber));
            }

            if (string.IsNullOrWhiteSpace(smsConfirmationRequest.ConfirmationCode))
            {
                throw new ArgumentNullException(nameof(smsConfirmationRequest.ConfirmationCode));
            }
        }
Example #3
0
        public async Task <IActionResult> ConfirmConfirmationCode([FromBody] SmsConfirmationRequest confirmationRequest)
        {
            Check(confirmationRequest);
            var grantedToken = await _identityServerClientFactory.CreateAuthSelector().UseClientSecretBasicAuth(Constants.ClientId, Constants.ClientSecret)
                               .UsePassword(confirmationRequest.PhoneNumber, confirmationRequest.ConfirmationCode, new List <string> {
                "sms"
            }, new List <string> {
                "openid", "profile", "role"
            })
                               .ResolveAsync(Constants.OpenIdWellKnownConfiguration)
                               .ConfigureAwait(false);

            if (grantedToken.ContainsError)
            {
                return(new UnauthorizedResult());
            }

            return(new OkObjectResult(grantedToken.Content));
        }
        public async Task <IActionResult> Delete([FromBody] SmsConfirmationRequest model)
        {
            await _confirmationCodesService.DeleteCodes(model.PartnerId, model.Phone);

            return(Ok());
        }