         {
             validateSettings();
         }
+
+        idManager.addEventListener(IdentityManagerEvent.SHOW_OAUTH_WEB_VIEW, showOAuthWebViewHandler);
     }
 
     private function validateSettings():void
     {
         AppEvent.dispatch(AppEvent.SAVE_SETTINGS, Model.instance.exportSettings());
+    }
+
+    private function showOAuthWebViewHandler(event:IdentityManagerEvent):void
+    {
+        CursorManager.removeAllCursors();   // ensure cursor is visible
     }
 }
 }


import mx.core.FlexGlobals;
import mx.logging.ILogger;
import mx.managers.ToolTipManager;
import mx.resources.ResourceManager;
import mx.rpc.AsyncResponder;


        if (PortalModel.getInstance().isAGO(portalURL))
        {
            idManager.addEventListener(IdentityManagerEvent.SHOW_OAUTH_WEB_VIEW, startup_showOAuthWebViewHandler);
            PortalModel.getInstance().registerOAuthPortal(portalURL, Model.instance.cultureCode);
            idManager.getCredential(portalURL, false, new Responder(getCredentialOutcomeHandler,
                                                                    getCredentialOutcomeHandler));

            function getCredentialOutcomeHandler(outcome:Object):void
            {
                idManager.removeEventListener(IdentityManagerEvent.SHOW_OAUTH_WEB_VIEW, startup_showOAuthWebViewHandler);
                validateSettings();
            }

            function startup_showOAuthWebViewHandler(event:IdentityManagerEvent):void
            {
                idManager.removeEventListener(IdentityManagerEvent.SHOW_OAUTH_WEB_VIEW, startup_showOAuthWebViewHandler);
                event.preventDefault();
                idManager.setCredentialForCurrentSignIn(null);
                validateSettings();
