
javax.security.auth.message.config.ServerAuthContext Maven / Gradle / Ivy
Show all versions of jboss-javaee-all-8.0
package javax.security.auth.message.config;
import javax.security.auth.message.ServerAuth;
/**
* This ServerAuthContext class encapsulates ServerAuthModules that are used to validate service requests
* received from clients, and to secure any response returned for those requests. A caller typically uses this class
* in the following manner:
*
*
* - Retrieve an instance of this class via AuthContextFactory.getAuthContext.
* - Invoke validateRequest.
*
ServerAuthContext implementation invokes validateRequest of one or more encapsulated ServerAuthModules.
* Modules validate credentials present in request (for example, decrypt and verify a signature).
*
* If credentials valid and sufficient, authentication complete
* Perform authorization check on authenticated identity and, if successful,
* dispatch to requested service application.
*
* - Service Application Finished.
* - Invoke secureResponse.
*
ServerAuthContext implementation invokes secureResponse of one or more encapsulated
* ServerAuthModules. Modules secure response (sign and encrypt response, for example), and prepare
* response message.
*
* - Send secured response to client.
* - Invoke cleanSubject (as necessary) to clean up any authentication state in Subject(s).
*
*
* A ServerAuthContext instance may be used concurrently by multiple callers.
*
* Implementations of this interface are responsible for constructing and initializing the encapsulated modules.
* The initialization step includes passing the relevant request and response MessagePolicy objects to the
* encapsulated modules. The MessagePolicy objects are obtained by the ServerAuthConfig instance used to
* obtain the ServerAuthContext object. See ServerAuthConfig.getAuthContext for more information.
*
* Implementations of this interface are instantiated by their associated configuration object such that they know
* which modules to invoke, in what order, and how results returned by preceding modules are to influence
* subsequent module invocations.
*
* Calls to the inherited methods of this interface delegate to the corresponding methods of the encapsulated
* authentication modules.
*
* @author Anil Saldhana
* @author Charlie Lai, Ron Monzillo (Javadoc for JSR-196)
* @since May 12, 2006
* @version $Revision$
* @see ServerAuthConfig
* @see javax.security.auth.message.module.ServerAuthModule
*/
public interface ServerAuthContext extends ServerAuth
{
}