//-----------------------------------------------------------------------
//
// Copyright (c) Outercurve Foundation. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.OAuth {
using System.Collections.Generic;
///
/// A token manager for use by an OAuth Consumer to store a temporary credential
/// (previously known as "unauthorized request token and secret").
///
///
/// The credentials stored here are obtained as described in:
/// http://tools.ietf.org/html/rfc5849#section-2.1
///
public interface ITemporaryCredentialStorage {
///
/// Saves the specified temporary credential for later retrieval.
///
/// The identifier.
/// The secret.
void SaveTemporaryCredential(string identifier, string secret);
///
/// Obtains a temporary credential secret, if available.
///
/// The temporary credential identifier secret if available; otherwise a key value pair whose strings are left in their uninitialized null state.
KeyValuePair RetrieveTemporaryCredential();
///
/// Clears the temporary credentials from storage.
///
///
/// DotNetOpenAuth calls this when the credentials are no longer needed.
///
void ClearTemporaryCredential();
}
}