org.openid4java.message.MessageExtension Maven / Gradle / Ivy
/*
* Copyright 2006-2008 Sxip Identity Corporation
*/
package org.openid4java.message;
/**
* Interface for building OpenID extensions.
*
* Classes that implement this interface should provide a default constructor
* and register their Type URIs with the MessageExtensionFactory.
*
* @see MessageExtensionFactory Message
* @author Marius Scurtescu, Johnny Bufu
*/
public interface MessageExtension
{
/**
* Gets the TypeURI that identifies a extension to the OpenID protocol.
*/
public String getTypeUri();
/**
* Gets the extension-specific parameters.
*
* Implementations MUST NOT prefix the parameter names with
* "openid.". The alias is managed internally by the Message class,
* when a extension is attached to an OpenID messaage.
*
* @see Message
*/
public ParameterList getParameters();
/**
* Sets the extension-specific parameters.
*
* Implementations MUST NOT prefix the parameter names with
* "openid.". The alias is managed internally by the Message class,
* when a extension is attached to an OpenID messaage.
* @param params
* @see Message
*/
public void setParameters(ParameterList params);
/**
* Used by the core OpenID authentication implementation to learn whether
* an extension provies authentication services.
*
* If the extension provides authentication services,
* the 'openid.identity' and 'openid.signed' parameters are optional.
*
* @return True if the extension provides authentication services,
* false otherwise.
*/
public boolean providesIdentifier();
/**
* Flag for indicating that an extension must be signed.
*
* @return True if all the extension's parameters MUST be signed
* in positive assertions, or false if there isn't such a
* requirement.
*/
public boolean signRequired();
}