public class PseudoAuthenticator extends Object implements Authenticator
PseudoAuthenticator
implementation provides an authentication equivalent to Hadoop's
Simple authentication, it trusts the value of the 'user.name' Java System property.
The 'user.name' value is propagated using an additional query string parameter USER_NAME
('user.name').
Modifier and Type | Field and Description |
---|---|
static String |
USER_NAME
Name of the additional parameter that carries the 'user.name' value.
|
Constructor and Description |
---|
PseudoAuthenticator() |
Modifier and Type | Method and Description |
---|---|
void |
authenticate(URL url,
AuthenticatedURL.Token token)
Performs simple authentication against the specified URL.
|
protected String |
getUserName()
Returns the current user name.
|
void |
setConnectionConfigurator(ConnectionConfigurator configurator)
Sets a
ConnectionConfigurator instance to use for
configuring connections. |
public static final String USER_NAME
public void setConnectionConfigurator(ConnectionConfigurator configurator)
ConnectionConfigurator
instance to use for
configuring connections.setConnectionConfigurator
in interface Authenticator
configurator
- the ConnectionConfigurator
instance.public void authenticate(URL url, AuthenticatedURL.Token token) throws IOException, AuthenticationException
If a token is given it does a NOP and returns the given token.
If no token is given, it will perform an HTTP OPTIONS
request injecting an additional
parameter USER_NAME
in the query string with the value returned by the getUserName()
method.
If the response is successful it will update the authentication token.
authenticate
in interface Authenticator
url
- the URl to authenticate against.token
- the authencation token being used for the user.IOException
- if an IO error occurred.AuthenticationException
- if an authentication error occurred.protected String getUserName()
This implementation returns the value of the Java system property 'user.name'
Copyright © 2022 Apache Software Foundation. All rights reserved.