Interface ClientAuthContext

  • All Superinterfaces:
    ClientAuth

    public interface ClientAuthContext
    extends ClientAuth
    This ClientAuthContext class encapsulates ClientAuthModules that are used to secure service requests made by a client, and to validate any responses received to those requests. A caller typically uses this class in the following manner:
    1. Retrieve an instance of this class by using ClientAuthConfig.getAuthContext.
    2. Invoke secureRequest.
      ClientAuthContext implementation invokes secureRequest of one or more encapsulated ClientAuthModules. Modules might attach credentials to request (for example, a user name and password), and/or secure the request (for example, sign and encrypt the request).
    3. Send request and receive response.
    4. Invoke validateResponse.
      ClientAuthContext implementation invokes validateResponse of one or more encapsulated ClientAuthModules. Modules verify or decrypt response as necessary.
    5. Invoke cleanSubject method (as necessary) to clean up any authentication state in Subject.

    A ClientAuthContext 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 ClientAuthConfig instance used to obtain the ClientAuthContext object. See ClientAuthConfig.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.

    See Also:
    ClientAuthConfig, ClientAuthModule