@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–2021 The Apache Software Foundation. All rights reserved.