//-----------------------------------------------------------------------
//
// Copyright (c) Andrew Arnott. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.OAuth2.ChannelElements {
using DotNetOpenAuth.Messaging;
///
/// An interface implemented by extension that can read incoming messages and extract the client identifier and
/// possibly authentication information (like a shared secret, signed nonce, etc.)
///
public interface IClientAuthenticationModule {
///
/// Attempts to extract client identification/authentication information from a message.
///
/// The incoming message. Always an instance of
/// Receives the client identifier, if one was found.
/// The level of the extracted client information.
ClientAuthenticationResult TryAuthenticateClient(IDirectedProtocolMessage requestMessage, out string clientIdentifier);
}
}