Interface AuthConfigProvider


public interface AuthConfigProvider
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.

  1. AuthConfigProvider provider;
  2. ClientAuthConfig config = provider.getClientAuthConfig(layer,appID,cbh);
  3. String authContextID = config.getAuthContextID(messageInfo);
  4. ClientAuthContext context = config.getAuthContext(authContextID,subject,properties);
  5. 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);
 
 
See Also: