private async void OnNavigated(object sender, WebBrowserNavigatedEventArgs e)
{
Debug.WriteLine("Navigated " + e.Url);
// Pre-Authorization performed?
if (m_isPreAuthorization)
{
m_isPreAuthorization = false;
m_browser.Navigate(m_provider.AuthorizationUrl);
return;
}
// we need to ignore all navigation that isn't to the redirect uri.
if (!e.Url.ToString().StartsWith(m_provider.RedirectionUrl.ToString(), StringComparison.OrdinalIgnoreCase))
{
return;
}
m_pnlWait.Visible = true;
m_browser.Visible = false;
try
{
var isOk = await m_provider.Claim(e.Url, m_browser.DocumentTitle);
DialogResult = isOk ? DialogResult.OK : DialogResult.Abort;
}
catch (Exception ex)
{
this.LastException = ex;
DialogResult = DialogResult.Abort;
}
finally
{
m_browser.Stop();
Close();
}
}