@InterfaceAudience.LimitedPrivate(value="Authentication") @NotThreadSafe public class BuiltInProviderSelector extends Object implements AuthenticationProviderSelector
AuthenticationProviderSelector which can choose from the
authentication implementations which HBase provides out of the box: Simple, Kerberos, and
Delegation Token authentication.
This implementation will ignore any SaslAuthenticationProvider's which are available
on the classpath or specified in the configuration because HBase cannot correctly choose which
token should be returned to a client when multiple are present. It is expected that users
implement their own AuthenticationProviderSelector when writing a custom provider.
This implementation is not thread-safe. configure(Configuration, Collection) and
selectProvider(String, User) is not safe if they are called concurrently.| Modifier and Type | Field and Description |
|---|---|
(package private) org.apache.hadoop.conf.Configuration |
conf |
(package private) DigestSaslClientAuthenticationProvider |
digestAuth |
(package private) org.apache.hadoop.io.Text |
digestAuthTokenKind |
(package private) GssSaslClientAuthenticationProvider |
krbAuth |
private static org.slf4j.Logger |
LOG |
(package private) SimpleSaslClientAuthenticationProvider |
simpleAuth |
| Constructor and Description |
|---|
BuiltInProviderSelector() |
| Modifier and Type | Method and Description |
|---|---|
void |
configure(org.apache.hadoop.conf.Configuration conf,
Collection<SaslClientAuthenticationProvider> providers)
Initializes the implementation with configuration and a set of providers available.
|
Pair<SaslClientAuthenticationProvider,org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier>> |
selectProvider(String clusterId,
User user)
Chooses the authentication provider which should be used given the provided client context
from the authentication providers passed in via
AuthenticationProviderSelector.configure(Configuration, Collection). |
private static final org.slf4j.Logger LOG
org.apache.hadoop.conf.Configuration conf
SimpleSaslClientAuthenticationProvider simpleAuth
DigestSaslClientAuthenticationProvider digestAuth
org.apache.hadoop.io.Text digestAuthTokenKind
public BuiltInProviderSelector()
public void configure(org.apache.hadoop.conf.Configuration conf, Collection<SaslClientAuthenticationProvider> providers)
AuthenticationProviderSelectorAuthenticationProviderSelector.selectProvider(String, User).configure in interface AuthenticationProviderSelectorpublic Pair<SaslClientAuthenticationProvider,org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier>> selectProvider(String clusterId, User user)
AuthenticationProviderSelectorAuthenticationProviderSelector.configure(Configuration, Collection).selectProvider in interface AuthenticationProviderSelectorCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.