public async Task <MobileConnectSiAuthorizeResult> SiAuthorize(MobileConnectSiAuthorizeSettings settings) { var processor = _processorsFactory .CreateProcessor <MobileConnectSiAuthorizeProcessor>(_client, settings); var result = await processor.ProcessAndGetResult() as MobileConnectSiAuthorizeResult; return(result); }
public async Task <ActionResult> Authorize(MobileConnectAuthorizeModel model) { if (string.IsNullOrEmpty(model.PhoneNumber) || string.IsNullOrEmpty(model.RedirectUrl) || string.IsNullOrEmpty(model.NotificationUri) || string.IsNullOrEmpty(model.DiscoveryUrl) || string.IsNullOrEmpty(model.DiscoveryClientId) || string.IsNullOrEmpty(model.DiscoveryPassword) || string.IsNullOrEmpty(model.PrivateRsaKeyPath)) { return(Content("Fill all fields")); } var authorizeSettings = new MobileConnectSiAuthorizeSettings { PhoneNumber = model.PhoneNumber, RedirectUrl = model.RedirectUrl, NotificationUri = model.NotificationUri, DiscoveryUrl = model.DiscoveryUrl, DiscoveryClientId = model.DiscoveryClientId, DiscoveryPassword = model.DiscoveryPassword, PrivateRsaKeyPath = model.PrivateRsaKeyPath }; var authorizeResult = await _mobileConnectService.SiAuthorize(authorizeSettings); if (!authorizeResult.IsSucceeded) { MobileConnectAuthorizeLogger.Warn( $"Authorize [authReqId: {authorizeResult.AuthReqId}, correlationId: {authorizeResult.CorrelationId}]. authorizeResult is not succeeded"); MobileConnectAuthorizeLogger.Warn(authorizeResult.ToString()); } var mobileConnectRequest = new MobileConnectAuthorizeRequest { PhoneNumber = model.PhoneNumber, ClientNotificationToken = authorizeResult.ClientNotificationToken, AuthReqId = authorizeResult.AuthReqId, CorrelationId = authorizeResult.CorrelationId, Nonce = authorizeResult.Nonce, IsResponseSucceeded = authorizeResult.IsSucceeded, ResponseErrorMessage = authorizeResult.ErrorMessage, RequestedDateTime = DateTime.Now }; _repository.CreateMobileConnectAuthorizeRequest(mobileConnectRequest); return(PartialView("_MobileConnectAuthorizePartial", authorizeResult)); }