Example #1
0
        private void SignInWebBrowserControl_Navigated(object sender, NavigationEventArgs e)
        { // navigate if at empty page, and a idp hrd url is available
            if (null == e.Uri && null != _selectedIdentityProvider)
            {
                BrowserSigninControl.Navigate(new Uri(_selectedIdentityProvider.LoginUrl));
            }
            else
            {
                if (_navigatingToIdentityProvider)
                {
                    lock (_setBrowserVisibleLock)
                    {
                        _setBrowserVisible = true;
                    }

                    Thread show = new Thread(() =>
                    {
                        System.Threading.Thread.CurrentThread.Join(250);

                        lock (_setBrowserVisibleLock)
                        {
                            if (_setBrowserVisible && _navigatingToIdentityProvider)
                            {
                                Dispatcher.BeginInvoke(() => { ShowBrowser(); });
                            }
                        }
                    });

                    show.Start();
                }
            }
        }
Example #2
0
        private void NavigateToIdentityProvider(IdentityProviderInformation identityProvider)
        {
            if (null != identityProvider)
            {
                ShowProgressBar(String.Format(String.Format("Contacting {0}", identityProvider.Name)));

                lock (_navigatingToIdentityProviderLock)
                {
                    _navigatingToIdentityProvider      = true;
                    BrowserSigninControl.Navigated    += new EventHandler <NavigationEventArgs>(SignInWebBrowserControl_Navigated);
                    BrowserSigninControl.Navigating   += new EventHandler <NavigatingEventArgs>(SignInWebBrowserControl_Navigating);
                    BrowserSigninControl.ScriptNotify += new EventHandler <NotifyEventArgs>(SignInWebBrowserControl_ScriptNotify);
                    _selectedIdentityProvider          = identityProvider;
                    BrowserSigninControl.NavigateToString("<html><head><title></title></head><body></body></html>");
                }
            }
        }