/// <summary> /// Initializes a new instance of the <see cref="CheckIdWindow"/> class. /// </summary> /// <param name="provider">The OpenID Provider host.</param> /// <param name="request">The incoming authentication request.</param> private CheckIdWindow(HostedProvider provider, IAuthenticationRequest request) { Contract.Requires(request != null); InitializeComponent(); // Initialize the window with appropriate values. this.realmLabel.Content = request.Realm; this.immediateModeLabel.Visibility = request.Immediate ? Visibility.Visible : Visibility.Collapsed; this.setupModeLabel.Visibility = request.Immediate ? Visibility.Collapsed : Visibility.Visible; bool isRPDiscoverable = request.IsReturnUrlDiscoverable(provider.Provider) == RelyingPartyDiscoveryResult.Success; this.discoverableYesLabel.Visibility = isRPDiscoverable ? Visibility.Visible : Visibility.Collapsed; this.discoverableNoLabel.Visibility = isRPDiscoverable ? Visibility.Collapsed : Visibility.Visible; if (request.IsDirectedIdentity) { this.claimedIdentifierBox.Text = provider.UserIdentityPageBase.AbsoluteUri; this.localIdentifierBox.Text = provider.UserIdentityPageBase.AbsoluteUri; } else { this.claimedIdentifierBox.Text = request.ClaimedIdentifier; this.localIdentifierBox.Text = request.LocalIdentifier; } }
/// <summary> /// Releases unmanaged and - optionally - managed resources /// </summary> /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> protected virtual void Dispose(bool disposing) { if (disposing) { var host = this.hostedProvider as IDisposable; if (host != null) { host.Dispose(); } this.hostedProvider = null; } }
/// <summary> /// Releases unmanaged and - optionally - managed resources /// </summary> /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> protected virtual void Dispose(bool disposing) { if (disposing) { var host = this.hostedProvider as IDisposable; if (host != null) { host.Dispose(); } this.hostedProvider = null; } }
/// <summary> /// Processes an authentication request by a popup window. /// </summary> /// <param name="provider">The OpenID Provider host.</param> /// <param name="request">The incoming authentication request.</param> internal static void ProcessAuthentication(HostedProvider provider, IAuthenticationRequest request) { Contract.Requires(provider != null); Contract.Requires(request != null); var window = new CheckIdWindow(provider, request); bool? result = window.ShowDialog(); // If the user pressed Esc or cancel, just send a negative assertion. if (!result.HasValue || !result.Value) { request.IsAuthenticated = false; return; } request.IsAuthenticated = window.tabControl1.SelectedItem == window.positiveTab; if (request.IsAuthenticated.Value) { request.ClaimedIdentifier = window.claimedIdentifierBox.Text; request.LocalIdentifier = window.localIdentifierBox.Text; } }
/// <summary> /// Processes an authentication request by a popup window. /// </summary> /// <param name="provider">The OpenID Provider host.</param> /// <param name="request">The incoming authentication request.</param> internal static void ProcessAuthentication(HostedProvider provider, IAuthenticationRequest request) { Contract.Requires(provider != null); Contract.Requires(request != null); var window = new CheckIdWindow(provider, request); bool?result = window.ShowDialog(); // If the user pressed Esc or cancel, just send a negative assertion. if (!result.HasValue || !result.Value) { request.IsAuthenticated = false; return; } request.IsAuthenticated = window.tabControl1.SelectedItem == window.positiveTab; if (request.IsAuthenticated.Value) { request.ClaimedIdentifier = window.claimedIdentifierBox.Text; request.LocalIdentifier = window.localIdentifierBox.Text; } }
/// <summary> /// Initializes a new instance of the <see cref="CheckIdWindow"/> class. /// </summary> /// <param name="provider">The OpenID Provider host.</param> /// <param name="request">The incoming authentication request.</param> private CheckIdWindow(HostedProvider provider, IAuthenticationRequest request) { Contract.Requires(request != null); this.InitializeComponent(); // Initialize the window with appropriate values. this.realmLabel.Content = request.Realm; this.immediateModeLabel.Visibility = request.Immediate ? Visibility.Visible : Visibility.Collapsed; this.setupModeLabel.Visibility = request.Immediate ? Visibility.Collapsed : Visibility.Visible; bool isRPDiscoverable = request.IsReturnUrlDiscoverable(provider.Provider.Channel.WebRequestHandler) == RelyingPartyDiscoveryResult.Success; this.discoverableYesLabel.Visibility = isRPDiscoverable ? Visibility.Visible : Visibility.Collapsed; this.discoverableNoLabel.Visibility = isRPDiscoverable ? Visibility.Collapsed : Visibility.Visible; if (request.IsDirectedIdentity) { this.claimedIdentifierBox.Text = provider.UserIdentityPageBase.AbsoluteUri; this.localIdentifierBox.Text = provider.UserIdentityPageBase.AbsoluteUri; } else { this.claimedIdentifierBox.Text = request.ClaimedIdentifier; this.localIdentifierBox.Text = request.LocalIdentifier; } }