卡夫卡装SASL回调处理类,但没有使用它

0

的问题

我试图实施OAUTHBEARER为SASL机制。 一部分,是我需要复盖的服务器登录回调处理类。 我使用docker和由此设置他们通过环境变量:

KAFKA_LISTENER_NAME_OUTSIDE_OAUTHBEARER_SASL_SERVER_CALLBACK_HANDLER_CLASS=[class_name]

什么是奇怪的是,它显然是装载指定的类的因为我轻而易举地做 log.warn("ctor...") 在构造上述课程。 但堆栈跟踪显示,它不打电话的 handle 方法提供类,而是AbstractLogin$DefaultLoginHandler类:

[2021-11-23 17:41:57,137] WARN OAuthAuthenticateValidatorCallbackHandler - ctor: v1.1 (com.oauth2.security.oauthbearer.OAuthAuthenticateValidatorCallbackHandler) [2021-11-23 17:41:57,153] ERROR Unrecognized SASL Login callback (org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule) javax.security.auth.callback.UnsupportedCallbackException: Unrecognized SASL Login callback at org.apache.kafka.common.security.authenticator.AbstractLogin$DefaultLoginCallbackHandler.handle(AbstractLogin.java:105) at org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule.identifyToken(OAuthBearerLoginModule.java:316)

是否有任何建议为什么它被装载处理程序类但不是使用它吗? 如果我简单地删除这些环境变量对于这两种登录/SERVER_CALLBACK_HANDLER_CLASS,同样的例外,但没有发出警告,证明该舱装载。 一种可能性,我真的不能调和的是,堆栈跟踪似乎指LoginCallbackHandler但这类援引的是服务器/ValidatorCallbackHandler;因为如果它不能够载的登回调处理和只的验证回调处理,但我有双重检查,一)环境变量涉及到正确类名称(登录==登录和&server==验证程序),该类的名字的确是正确的。

apache-kafka oauth sasl
2021-11-23 17:46:41
1

最好的答案

0

事情发生时我后来计算器和答案神奇揭示了本身。

我需要做的是也包括SASL配置的其他听众:

KAFKA_LISTENER_NAME_INSIDE_PLAIN_SASL_JAAS_CONFIG="组织。apache..."

然后它的工作与内://PLAIN和外部://OAUTHBEARER.

2021-11-23 18:25:23

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................