Exemplo n.º 1
0
 private void Browser_LoadCompleted(object sender, NavigationEventArgs e)
 {
     if (this.IsLoaded && this.IsActive && e.Uri.AbsoluteUri.StartsWith(this.redirectUrl))
     {
         this.microsoftAccessInfo = MicrosoftAccessInfo.Parse(e.Uri);
         this.DialogResult        = this.microsoftAccessInfo != null;
     }
 }
Exemplo n.º 2
0
        public async Task <MicrosoftAccessInfo> SignInSilentlyAsync()
        {
            MicrosoftAccessInfo microsoftAccessInfo = null;
            var        taskCompletionSource         = new TaskCompletionSource <object>();
            WebBrowser webBrowser = new WebBrowser();

            webBrowser.Navigated += (sender, e) =>
            {
                if (e.Uri.AbsoluteUri.StartsWith(this.RedirectUrl))
                {
                    microsoftAccessInfo = MicrosoftAccessInfo.Parse(e.Uri);
                    taskCompletionSource.SetResult(null);
                }
            };
            webBrowser.Navigate(this.SignInUrl + "&display=none");
            await Task.WhenAny(taskCompletionSource.Task, Task.Delay(SignInTimeout));

            return(microsoftAccessInfo);
        }