public void Authenticate(Uri authorizationUri, Uri redirectUri, CallState callState)
 {
     try
     {
         this.parameters.CallerViewController.InvokeOnMainThread(() =>
         {
             var navigationController =
                 new AuthenticationAgentUINavigationController(authorizationUri.AbsoluteUri,
                                                               redirectUri.OriginalString, CallbackMethod);
             this.parameters.CallerViewController.PresentViewController(navigationController, false, null);
         });
     }
     catch (Exception ex)
     {
         throw new AdalException(AdalError.AuthenticationUiFailed, ex);
     }
 }
        public void Authenticate(Uri authorizationUri, Uri redirectUri, CallState callState)
        {
            try
            {
                this.parameters.CallerViewController.InvokeOnMainThread(() =>
                {
                    var navigationController =
                        new AuthenticationAgentUINavigationController(authorizationUri.AbsoluteUri,
                                                                      redirectUri.OriginalString, CallbackMethod, this.parameters.PreferredStatusBarStyle);

                    navigationController.ModalPresentationStyle = this.parameters.ModalPresentationStyle;
                    navigationController.ModalTransitionStyle   = this.parameters.ModalTransitionStyle;
                    navigationController.TransitioningDelegate  = this.parameters.TransitioningDelegate;

                    this.parameters.CallerViewController.PresentViewController(navigationController, true, null);
                });
            }
            catch (Exception ex)
            {
                this.parameters = null;
                throw new AdalException(AdalError.AuthenticationUiFailed, ex);
            }
        }