@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.