using System; namespace DotNetOpenId.RelyingParty { /// /// 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 { /// /// 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. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter")] bool IsExtensionSupported() where T : Extensions.IExtension, 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. /// bool IsExtensionSupported(Type extensionType); /// /// The detected version of OpenID implemented by the Provider. /// Version Version { get; } /// /// The URL that the OpenID Provider receives authentication requests at. /// Uri Uri { get; } } }