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)); }
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)); } }
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()); }