Kafka carga SASL de devolución de llamada de manejo de la clase, pero no lo uso

0

Pregunta

Estoy tratando de implementar OAUTHBEARER como el mecanismo SASL. Parte de eso es que necesito reemplazar el servidor de inicio de sesión y de devolución de llamada controlador de clases. Estoy usando docker, y de esta manera establecer con ellos a través de variables de entorno:

KAFKA_LISTENER_NAME_OUTSIDE_OAUTHBEARER_SASL_SERVER_CALLBACK_HANDLER_CLASS=[class_name]

Lo que es extraño es que está claro que es la carga de la clase designada como soy fácilmente haciendo un log.warn("ctor...") en el constructor de dicha clase. Pero el stacktrace muestra que no está llamando a la handle método del cable de la clase, pero en lugar AbstractLogin$DefaultLoginHandler clase:

[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)

Hay alguna sugerencia de por qué se está cargando el controlador de clase, pero no se usa? Si yo simplemente eliminar las variables de entorno para ambos LOGIN/SERVER_CALLBACK_HANDLER_CLASS, misma Excepción, pero sin ADVERTIR demostrando que la clase se ha cargado. Una posibilidad, que realmente no puedo reconciliar con es que el stacktrace parece referirse a un LoginCallbackHandler pero la clase que invoca es el Servidor/ValidatorCallbackHandler; como si no fuera capaz de cargar el inicio de sesión de devolución de llamada controlador y sólo el Validador de controlador callback, pero me han registrado el doble que a) las variables de entorno que pertenecen a la clase correcta de nombre de usuario (login==Login && server==Validator) y que los nombres de las clases son de hecho correcta.

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

Mejor respuesta

0

algo sucede cuando yo publique en stackoverflow y la respuesta por arte de magia se revela a sí mismo.

de lo que debo hacer es incluir también SASL config para el otro oyente:

KAFKA_LISTENER_NAME_INSIDE_PLAIN_SASL_JAAS_CONFIG="org.apache..."

Y luego se trabaja con ambos DENTRO de://PLAIN y FUERA://OAUTHBEARER.

2021-11-23 18:25:23

En otros idiomas

Esta página está en otros idiomas

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