public interface ProxyAuthenticator
An object that implements this interface is invoked at runtime when and if proxy authentication is needed.
The class name of the desired implementation of ProxyAuthenticator is registered with the system property AUTHENTICATOR_PROPERTY.
For example:
import weblogic.common.ProxyAuthenticator; ... Properties p = System.getProperties(); p.put(ProxyAuthenticator.AUTHENTICATOR_PROPERTY, "my.package.MyAuthenticator"); System.setProperties(p);
A class of this type is instantiated with Class.forName(classname).newInstance()., so the class must be public and must have a default constructor, that is, a void argument constructor.
Once instantiated, the class is initialized by its init() method, which takes as parameters the hostname and port of the proxy that requires authentication, the authentication type required by the proxy (for example, "Basic"), and the login prompt the proxy presented, if any.
The authenticator is then asked for the login and password needed for authorization with the proxy, via its getLoginAndPassword() method. This method should return an array of two strings that contains the login (user) name and password. If no authentication information can be provided, then this method returns null, in which case the authentication (and the network communication that depended on it) fail.
The authenticator is queried as long as authentication fails. Once authentication succeeds, the authentication information is cached internally and used in all subsequent communication with that particular proxy.
Modifier and Type | Field | Description |
---|---|---|
static java.lang.String |
AUTHENTICATOR_PROPERTY |
Modifier and Type | Method | Description |
---|---|---|
java.lang.String[] |
getLoginAndPassword() |
Gets the user login name and password required by the proxy server.
|
void |
init(java.lang.String proxyHost,
int proxyPort,
java.lang.String authType,
java.lang.String loginPrompt) |
Initializes the proxy authenticator class.
|
static final java.lang.String AUTHENTICATOR_PROPERTY
void init(java.lang.String proxyHost, int proxyPort, java.lang.String authType, java.lang.String loginPrompt)
proxyHost
- Hostname of the proxy computerproxyPort
- Port number where the proxy is listingauthType
- Type of authorizationloginPrompt
- Proxy's login prompt, if anyjava.lang.String[] getLoginAndPassword()