
javax.security.auth.message.config.ServerAuthConfig Maven / Gradle / Ivy
Show all versions of jboss-jaspi-api_1.0_spec Show documentation
package javax.security.auth.message.config;
import java.util.Map;
import javax.security.auth.Subject;
import javax.security.auth.message.AuthException;
/**
* This interface describes a configuration of ServerAuthConfiguration
* objects for a message layer and application context (e.g., the messaging
* context of a specific application, or set of applications).
* Implementations of this interface are returned by an AnthConfigProvider.
* Callers interact with a ServerAuthConfig to obtain ServerAuthContext
* objects suitable for processing a given message exchange at the layer and
* within the application context of the ServerAuthConfig. Each ServerAuthContext
* object is responsible for instantiating, initializing, and invoking the one
* or more ServerAuthModules encapsulated in the ServerAuthContext.
* After having acquired a ServerAuthContext, a caller operates on the context
* to cause it to invoke the encapsulated ServerAuthModules to validate service
* requests and to secure service responses.
*
* @author Anil Saldhana
* @author Charlie Lai, Ron Monzillo (Javadoc for JSR-196)
* @since May 12, 2006
* @version $Revision$
*/
public interface ServerAuthConfig extends AuthConfig
{
/**
* Get a ServerAuthContext instance from this ServerAuthConfig.
* The implementation of this method returns a ServerAuthContext instance that
* encapsulates the ServerAuthModules used to validate requets and secure responses
* associated with the given operation.
* Specifically, this method accesses this ServerAuthConfig object with the argument
* operation to determine the ServerAuthModules that are to be encapsulated in the
* returned ServerAuthContext instance.
* The ServerAuthConfig object establishes the request and response MessagePolicy
* objects that are passed to the encapsulated modules when they are initialized by
* the returned ServerAuthContext instance. It is the module's responsibility to
* enforce these policies when invoked.
*
* @param operation an operation identifier used to index the provided config, or null.
* This value must be identical to the value returned by the
* getOperation method for all AuthParam objects passed to the
* validateRequest method of the returned ServerAuthContext.
* @param properties a Map object that may be used by the caller to augment the
* properties that will be passed to the encapsulated modules at
* module initialization. The null value may be passed for this
* parameter.
* @return a ServerAuthContext instance that encapsulates the ServerAuthModules used
* to secure and validate requests/responses associated with the
* given operation, or null (indicating that no modules are configured).
* @throws AuthException if this operation fails.
*/
public ServerAuthContext getAuthContext(String authContextID,
Subject serviceSubject, Map properties) throws AuthException;
}