public interface AuthenticationScheme
Extensions to the authentication scheme must
Node
ChallengeAuthentication
.
Every authentication scheme must describe itself as a Node
to
allow the scheme to be persisted with the connection metadata. Refer
describe()
. When the connection is loaded by the Connection
manager, the connection reconstructs the authentication scheme from
the metadata provided by describe()
.
A custom AuthenticationScheme must set the provider
attribute when describing its metdata. The provider
defines
the implementing class of the custom authentication scheme. for e.g.
<authentication provider="foo.myCustomAuthScheme" >
< .................... >
</authentication>
Authentication implementations can then be provided by defining the
authenticate(HTTPConnection con)
and
authenticate(String host, int port)
Two variants are provided, so that custom headers can be set on the
HTTPConnection
instance, as well as provide authentication for
a particular host/port pair.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ATTR_PROVIDER
provider attribute in the metdata description.
|
static java.lang.String |
AUTHENTICATION
authentication element in the metdata description.
|
Modifier and Type | Method and Description |
---|---|
void |
authenticate(HTTPClient.HTTPConnection conn)
Authenticate the
URLConnection interaction instance using this
authentication scheme. |
void |
authenticate(java.lang.String host,
int port)
Authenticate a Host/Port instance using this authentication scheme.
|
org.w3c.dom.Node |
describe()
Describe this authentication scheme.
|
java.util.Map |
getCredentials()
Fetch the credentials represented by the scheme.
|
java.util.Map |
getCredentialsWithCharArrayPassword()
Fetch the credentials represented by the scheme.
|
void |
loadCredentials(java.util.Map environment)
Load the Authentication Scheme with credentials from Credential
store.
|
static final java.lang.String AUTHENTICATION
static final java.lang.String ATTR_PROVIDER
org.w3c.dom.Node describe() throws ConnectionException
Node
describing the Authentication scheme.{@link
- ConnectionException} if the scheme could not
be described.ConnectionException
void loadCredentials(java.util.Map environment)
Map
represents the environment that has the
security configuration passed by the Connection Manager
which contains the credential properties that this scheme defines.environment
- The environment that has the credential properties
defined by this scheme.java.util.Map getCredentials()
Map
representing the connection
credentialsjava.util.Map getCredentialsWithCharArrayPassword()
Map
representing the connection
credentials. The password will be char array.void authenticate(HTTPClient.HTTPConnection conn) throws ConnectionException
URLConnection
interaction instance using this
authentication scheme. This is invoked when the URLConnection
intializes the interaction during the start up of the underlying
communication channel to the resource.conn
- The HTTPConnection
instance for which the
necessary authentication headers need to be set
when the URLConnection
is prepared for use.{@link
- ConnectionException} If the authentication
fails or an error occurs trying to authenticate.ConnectionException
void authenticate(java.lang.String host, int port) throws ConnectionException
host
- The Host for which authentication is needed.port
- The port for which authentication is needed.{@link
- ConnectionException} If the authentication
fails or an error occurs trying to authenticate.ConnectionException