using System.Collections.Generic;
using DotNetOpenId.RelyingParty;
namespace DotNetOpenId.Extensions {
///
/// An interface that OpenID extensions can implement to allow authentication response
/// messages with included extensions to be processed by Javascript on the user agent.
///
public interface IClientScriptExtensionResponse : IExtension {
///
/// Reads the extension information on an authentication response from the provider.
///
/// The fields belonging to the extension.
/// The incoming OpenID response carrying the extension.
/// The actual extension TypeUri that was recognized in the message.
///
/// A Javascript snippet that when executed on the user agent returns an object with
/// the information deserialized from the extension response.
///
///
/// This method is called before the signature on the assertion response has been
/// verified. Therefore all information in these fields should be assumed unreliable
/// and potentially falsified.
///
string InitializeJavaScriptData(IDictionary fields, IAuthenticationResponse response, string typeUri);
}
}