//-----------------------------------------------------------------------
//
// Copyright (c) Outercurve Foundation. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.OAuth.ChannelElements {
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.OAuth;
///
/// Additional methods an implementing class
/// may implement to support the OpenID+OAuth extension.
///
public interface IOpenIdOAuthTokenManager {
///
/// Stores a new request token obtained over an OpenID request.
///
/// The consumer key.
/// The authorization message carrying the request token and authorized access scope.
///
/// The token secret is the empty string.
/// Tokens stored by this method should be short-lived to mitigate
/// possible security threats. Their lifetime should be sufficient for the
/// relying party to receive the positive authentication assertion and immediately
/// send a follow-up request for the access token.
///
void StoreOpenIdAuthorizedRequestToken(string consumerKey, AuthorizationApprovedResponse authorization);
}
}