public class OAuthBearerExtensionsValidatorCallback extends CommonExtensionsValidatorCallback
Callback
for use by the SaslServer
implementation when it
needs to validate the SASL extensions for the OAUTHBEARER mechanism
Callback handlers should use the CommonExtensionsValidatorCallback.valid(String)
method to communicate valid extensions back to the SASL server.
Callback handlers should use the
CommonExtensionsValidatorCallback.error(String, String)
method to communicate validation errors back to
the SASL Server.
As per RFC-7628 (https://tools.ietf.org/html/rfc7628#section-3.1), unknown extensions must be ignored by the server.
The callback handler implementation should simply ignore unknown extensions,
not calling CommonExtensionsValidatorCallback.error(String, String)
nor CommonExtensionsValidatorCallback.valid(String)
.
Callback handlers should communicate other problems by raising an IOException
.
The OAuth bearer token is provided in the callback for better context in extension validation.
It is very important that token validation is done in its own OAuthBearerValidatorCallback
irregardless of provided extensions, as they are inherently insecure.
SEPARATOR
Constructor and Description |
---|
OAuthBearerExtensionsValidatorCallback(OAuthBearerToken token,
SaslExtensions extensions) |
OAuthBearerExtensionsValidatorCallback(OAuthBearerToken token,
SaslExtensions extensions,
io.confluent.kafka.util.ClientContext context) |
Modifier and Type | Method and Description |
---|---|
OAuthBearerToken |
token() |
context, data, data, error, errorMessage, errorMessage, ignoredExtensions, inputExtensions, invalidExtensions, valid, valid, valid, validatedExtensions
public OAuthBearerExtensionsValidatorCallback(OAuthBearerToken token, SaslExtensions extensions, io.confluent.kafka.util.ClientContext context)
public OAuthBearerExtensionsValidatorCallback(OAuthBearerToken token, SaslExtensions extensions)
public OAuthBearerToken token()
OAuthBearerToken
the OAuth bearer token of the client