//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OpenId.RelyingParty { using System; using System.Collections.ObjectModel; using System.Diagnostics.CodeAnalysis; using System.Globalization; using DotNetOpenAuth.Messaging; using DotNetOpenAuth.OpenId.Messages; /// /// Information published about an OpenId Provider by the /// OpenId discovery documents found at a user's Claimed Identifier. /// /// /// Because information provided by this interface is suppplied by a /// user's individually published documents, it may be incomplete or inaccurate. /// public interface IProviderEndpoint { /// /// Gets the detected version of OpenID implemented by the Provider. /// Version Version { get; } /// /// Gets the URL that the OpenID Provider receives authentication requests at. /// /// /// This value MUST be an absolute HTTP or HTTPS URL. /// Uri Uri { get; } /// /// Checks whether the OpenId Identifier claims support for a given extension. /// /// The extension whose support is being queried. /// True if support for the extension is advertised. False otherwise. /// /// Note that a true or false return value is no guarantee of a Provider's /// support for or lack of support for an extension. The return value is /// determined by how the authenticating user filled out his/her XRDS document only. /// The only way to be sure of support for a given extension is to include /// the extension in the request and see if a response comes back for that extension. /// [SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Justification = "No parameter at all.")] [Obsolete("Use IAuthenticationRequest.DiscoveryResult.IsExtensionSupported instead.")] bool IsExtensionSupported() where T : IOpenIdMessageExtension, new(); /// /// Checks whether the OpenId Identifier claims support for a given extension. /// /// The extension whose support is being queried. /// True if support for the extension is advertised. False otherwise. /// /// Note that a true or false return value is no guarantee of a Provider's /// support for or lack of support for an extension. The return value is /// determined by how the authenticating user filled out his/her XRDS document only. /// The only way to be sure of support for a given extension is to include /// the extension in the request and see if a response comes back for that extension. /// [Obsolete("Use IAuthenticationRequest.DiscoveryResult.IsExtensionSupported instead.")] bool IsExtensionSupported(Type extensionType); } }