//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth.ChannelElements { using DotNetOpenAuth.OpenId; /// /// An interface that providers that play a dual role as OpenID Provider /// and OAuth Service Provider should implement on their token manager classes. /// /// /// This interface should be implemented by the same class that implements /// in order to enable the OpenID+OAuth extension. /// public interface ICombinedOpenIdProviderTokenManager : IOpenIdOAuthTokenManager, ITokenManager { /// /// Gets the OAuth consumer key for a given OpenID relying party realm. /// /// The relying party's OpenID realm. /// The OAuth consumer key for a given OpenID realm. /// This is a security-critical function. Since OpenID requests /// and OAuth extensions for those requests can be formulated by ANYONE /// (no signing is required by the relying party), and since the response to /// the authentication will include access the user is granted to the /// relying party who CLAIMS to be from some realm, it is of paramount /// importance that the realm is recognized as belonging to the consumer /// key by the host service provider in order to protect against phishers. string GetConsumerKey(Realm realm); } }