This interface is implemented by objects that can be used to obtain authentication context configuration objects i.e., ClientAuthConfig or ServerAuthConfig objects. Authentication context configuration objects serve as sources of the authentication context objects, i.e, ClientAuthContext or ServerAuthContext objects, for a specific message layer and messaging context.
Authentication context objects encapsulate the initialization, configuration, and invocation of authentication modules, i.e., ClientAuthModule or ServerAuthModule objects, for a specific message exchange within a specific message layer and messaging context.
Callers do not directly operate on authentication modules. Instead, they rely on a ClientAuthContext or ServerAuthContext to manage the invocation of modules. A caller obtains an instance of ClientAuthContext or ServerAuthContext by calling the respective getAuthContext method on a ClientAuthConfig or ServerAuthConfig object obtained from an AuthConfigProvider.
The following represents a typical sequence of calls for obtaining a client authentication context object, and then using it to secure a request.
- AuthConfigProvider provider;
- ClientAuthConfig config = provider.getClientAuthConfig(layer,appID,cbh);
- String operation = config.getOperation(authParam);
- ClientAuthContext context = config.getAuthContext(operation,properties);
- context.secureRequest(authParam,subject,...);
Every implementation of this interface must offer a public, single argument constructor with the following signature:
public AuthConfigProviderImpl(Map properties);
where the properties argument may be null, and where all values and keys occuring in a non-null properties argument must be of type String.
An AuthConfigFactory may be used to obtain the ConfigProvider for a specific message layer and application context identifier.
@author
Anil Saldhana
@author Charlie Lai, Ron Monzillo (Javadoc for JSR-196)
@since May 12, 2006
@version $Revision: 45179 $