public class OAuthBearerValidatorCallbackHandler
extends java.lang.Object
implements org.apache.kafka.common.security.auth.AuthenticateCallbackHandler
CallbackHandler
that recognizes
OAuthBearerValidatorCallback
and OAuthBearerExtensionsValidatorCallback
for validating a secured OAuth 2 bearer token issued by Confluent and SASL extensions
specifying the logical cluster this token is meant for.
It verifies the signature of the JWTToken through a public key it reads from a file path, set in the JAAS config
This class must be explicitly set via the
listener.name.sasl_[plaintext|ssl].oauthbearer.sasl.server.callback.handler.class
broker configuration property.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PUBLIC_KEY_PATH_KEY |
static java.lang.String |
SNI_HOST_NAME_KEY |
Constructor and Description |
---|
OAuthBearerValidatorCallbackHandler() |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
configure(java.util.Map<java.lang.String,?> configs,
java.lang.String saslMechanism,
java.util.List<javax.security.auth.login.AppConfigurationEntry> jaasConfigEntries) |
void |
handle(javax.security.auth.callback.Callback[] callbacks) |
protected boolean |
isSniHostNameMatched(org.apache.kafka.common.security.oauthbearer.OAuthBearerExtensionsValidatorCallback callback,
java.lang.String logicalClusterId,
java.lang.String sniHostName,
SniValidationMode sniValidationMode) |
public static final java.lang.String SNI_HOST_NAME_KEY
public static final java.lang.String PUBLIC_KEY_PATH_KEY
public void configure(java.util.Map<java.lang.String,?> configs, java.lang.String saslMechanism, java.util.List<javax.security.auth.login.AppConfigurationEntry> jaasConfigEntries)
configure
in interface org.apache.kafka.common.security.auth.AuthenticateCallbackHandler
public void handle(javax.security.auth.callback.Callback[] callbacks) throws javax.security.auth.callback.UnsupportedCallbackException
handle
in interface javax.security.auth.callback.CallbackHandler
javax.security.auth.callback.UnsupportedCallbackException
public void close()
close
in interface org.apache.kafka.common.security.auth.AuthenticateCallbackHandler
protected boolean isSniHostNameMatched(org.apache.kafka.common.security.oauthbearer.OAuthBearerExtensionsValidatorCallback callback, java.lang.String logicalClusterId, java.lang.String sniHostName, SniValidationMode sniValidationMode)