@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)
AuthenticationProviderSelector
AuthenticationProviderSelector.selectProvider(String, User)
.configure
in interface AuthenticationProviderSelector
public Pair<SaslClientAuthenticationProvider,org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier>> selectProvider(String clusterId, User user)
AuthenticationProviderSelector
AuthenticationProviderSelector.configure(Configuration, Collection)
.selectProvider
in interface AuthenticationProviderSelector
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.