public static int DoAuthorizationRequest(IServiceClient serviceClient, string username, bool?useWebhook, bool?advancedWebhook = null, string context = null, AuthPolicy policy = null, string title = null, int?ttl = null, string pushTitle = null, string pushBody = null, int?fraudDenialreasons = null, int?nonFraudDenialreasons = null) { try { IList <DenialReason> denialReasons = GetDenialReasons(fraudDenialreasons, nonFraudDenialreasons); AuthorizationRequest authorizationRequest = serviceClient.CreateAuthorizationRequest(username, context, policy, title, ttl, pushTitle, pushBody, denialReasons); Console.WriteLine($"Auth Request Started: {authorizationRequest.Id}"); if (authorizationRequest.DeviceIds != null) { Console.WriteLine($"Auth Request Sent to Devices: {string.Join(",", authorizationRequest.DeviceIds)}"); } if (useWebhook == true) { return(HandleWebhook(serviceClient, advancedWebhook)); } else { return(PollForResponse(serviceClient, authorizationRequest)); } } catch (AuthorizationInProgress e) { Console.WriteLine(e.Message); Console.WriteLine($" Auth Request: {e.AuthorizationRequestId}"); Console.WriteLine($" Expires: {e.Expires}"); Console.WriteLine($" Same Service: {e.FromSameService}"); return(1); } catch (BaseException e) { Console.WriteLine($"Error while authorizing user {username}. Error: {e.Message}"); return(1); } }