This interface is implemented by objects that can be used to obtain
authentication context configuration objects, that is,
ClientAuthConfig or ServerAuthConfig objects.
Authentication context configuration objects serve as sources of
the authentication context objects, that is, ClientAuthContext or
ServerAuthContext objects, for a specific message layer
and messaging context.
Authentication context objects encapsulate the initialization,
configuration, and invocation of authentication modules, that is,
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 authContextID = config.getAuthContextID(messageInfo);
- ClientAuthContext context = config.getAuthContext(authContextID,subject,properties);
- context.secureRequest(messageInfo,subject);
Every implementation of this interface must offer a public,
two argument constructor with the following signature:
public AuthConfigProviderImpl(Map properties, AuthConfigFactory factory);
where the properties argument may be null, and where all values and
keys occurring in a non-null properties argument must be of type String.
When the factory argument is not null, it indicates that the
provider is to self-register at the factory by calling the following
method on the factory:
public String
registerConfigProvider(AuthConfigProvider provider, String layer,
String appContext, String description);
|