Class DelegationTokenAuthenticator
java.lang.Object
org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticator
- All Implemented Interfaces:
org.apache.hadoop.security.authentication.client.Authenticator
- Direct Known Subclasses:
KerberosDelegationTokenAuthenticator,PseudoDelegationTokenAuthenticator
@Public
@Evolving
public abstract class DelegationTokenAuthenticator
extends Object
implements org.apache.hadoop.security.authentication.client.Authenticator
Authenticator wrapper that enhances an Authenticator with
Delegation Token support.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumorg.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticator.DelegationTokenOperationDelegationToken operations. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDelegationTokenAuthenticator(org.apache.hadoop.security.authentication.client.Authenticator authenticator) -
Method Summary
Modifier and TypeMethodDescriptionvoidauthenticate(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token) Authenticates against a URL and returns aAuthenticatedURL.Tokento be used by subsequent requests.voidcancelDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken) Cancels a delegation token from the server end-point.voidcancelDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken, String doAsUser) Cancels a delegation token from the server end-point.getDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, String renewer) Requests a delegation token using the configuredAuthenticatorfor authentication.getDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, String renewer, String doAsUser) Requests a delegation token using the configuredAuthenticatorfor authentication.longrenewDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken) Renews a delegation token from the server end-point using the configuredAuthenticatorfor authentication.longrenewDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken, String doAsUser) Renews a delegation token from the server end-point using the configuredAuthenticatorfor authentication.voidsetConnectionConfigurator(org.apache.hadoop.security.authentication.client.ConnectionConfigurator configurator) Sets aConnectionConfiguratorinstance to use for configuring connections.
-
Field Details
-
OP_PARAM
- See Also:
-
DELEGATION_TOKEN_HEADER
- See Also:
-
DELEGATION_PARAM
- See Also:
-
TOKEN_PARAM
- See Also:
-
RENEWER_PARAM
- See Also:
-
SERVICE_PARAM
- See Also:
-
DELEGATION_TOKEN_JSON
- See Also:
-
DELEGATION_TOKEN_URL_STRING_JSON
- See Also:
-
RENEW_DELEGATION_TOKEN_JSON
- See Also:
-
-
Constructor Details
-
DelegationTokenAuthenticator
public DelegationTokenAuthenticator(org.apache.hadoop.security.authentication.client.Authenticator authenticator)
-
-
Method Details
-
setConnectionConfigurator
public void setConnectionConfigurator(org.apache.hadoop.security.authentication.client.ConnectionConfigurator configurator) Description copied from interface:org.apache.hadoop.security.authentication.client.AuthenticatorSets aConnectionConfiguratorinstance to use for configuring connections.- Specified by:
setConnectionConfiguratorin interfaceorg.apache.hadoop.security.authentication.client.Authenticator- Parameters:
configurator- theConnectionConfiguratorinstance.
-
authenticate
public void authenticate(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token) throws IOException, org.apache.hadoop.security.authentication.client.AuthenticationException Description copied from interface:org.apache.hadoop.security.authentication.client.AuthenticatorAuthenticates against a URL and returns aAuthenticatedURL.Tokento be used by subsequent requests.- Specified by:
authenticatein interfaceorg.apache.hadoop.security.authentication.client.Authenticator- Parameters:
url- the URl to authenticate against.token- the authentication token being used for the user.- Throws:
IOException- if an IO error occurred.org.apache.hadoop.security.authentication.client.AuthenticationException- if an authentication error occurred.
-
getDelegationToken
public Token<AbstractDelegationTokenIdentifier> getDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, String renewer) throws IOException, org.apache.hadoop.security.authentication.client.AuthenticationException Requests a delegation token using the configuredAuthenticatorfor authentication.- Parameters:
url- the URL to get the delegation token from. Only HTTP/S URLs are supported.token- the authentication token being used for the user where the Delegation token will be stored.renewer- the renewer user.- Returns:
- abstract delegation token identifier.
- Throws:
IOException- if an IO error occurred.org.apache.hadoop.security.authentication.client.AuthenticationException- if an authentication exception occurred.
-
getDelegationToken
public Token<AbstractDelegationTokenIdentifier> getDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, String renewer, String doAsUser) throws IOException, org.apache.hadoop.security.authentication.client.AuthenticationException Requests a delegation token using the configuredAuthenticatorfor authentication.- Parameters:
url- the URL to get the delegation token from. Only HTTP/S URLs are supported.token- the authentication token being used for the user where the Delegation token will be stored.renewer- the renewer user.doAsUser- the user to do as, which will be the token owner.- Returns:
- abstract delegation token identifier.
- Throws:
IOException- if an IO error occurred.org.apache.hadoop.security.authentication.client.AuthenticationException- if an authentication exception occurred.
-
renewDelegationToken
public long renewDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken) throws IOException, org.apache.hadoop.security.authentication.client.AuthenticationException Renews a delegation token from the server end-point using the configuredAuthenticatorfor authentication.- Parameters:
url- the URL to renew the delegation token from. Only HTTP/S URLs are supported.token- the authentication token with the Delegation Token to renew.dToken- abstract delegation token identifier.- Returns:
- delegation token long value.
- Throws:
IOException- if an IO error occurred.org.apache.hadoop.security.authentication.client.AuthenticationException- if an authentication exception occurred.
-
renewDelegationToken
public long renewDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken, String doAsUser) throws IOException, org.apache.hadoop.security.authentication.client.AuthenticationException Renews a delegation token from the server end-point using the configuredAuthenticatorfor authentication.- Parameters:
url- the URL to renew the delegation token from. Only HTTP/S URLs are supported.token- the authentication token with the Delegation Token to renew.doAsUser- the user to do as, which will be the token owner.dToken- abstract delegation token identifier.- Returns:
- delegation token long value.
- Throws:
IOException- if an IO error occurred.org.apache.hadoop.security.authentication.client.AuthenticationException- if an authentication exception occurred.
-
cancelDelegationToken
public void cancelDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken) throws IOException Cancels a delegation token from the server end-point. It does not require being authenticated by the configuredAuthenticator.- Parameters:
url- the URL to cancel the delegation token from. Only HTTP/S URLs are supported.token- the authentication token with the Delegation Token to cancel.dToken- abstract delegation token identifier.- Throws:
IOException- if an IO error occurred.
-
cancelDelegationToken
public void cancelDelegationToken(URL url, org.apache.hadoop.security.authentication.client.AuthenticatedURL.Token token, Token<AbstractDelegationTokenIdentifier> dToken, String doAsUser) throws IOException Cancels a delegation token from the server end-point. It does not require being authenticated by the configuredAuthenticator.- Parameters:
url- the URL to cancel the delegation token from. Only HTTP/S URLs are supported.token- the authentication token with the Delegation Token to cancel.dToken- abstract delegation token identifier.doAsUser- the user to do as, which will be the token owner.- Throws:
IOException- if an IO error occurred.
-