Kafka caricamento SASL richiamata la movimentazione di classe, ma non è in uso

0

Domanda

Sto cercando di implementare OAUTHBEARER come SASL meccanismo. Parte di questo è che ho bisogno di ignorare sia il server di login gestore di callback classi. Sto usando la finestra mobile e così via le variabili di ambiente:

KAFKA_LISTENER_NAME_OUTSIDE_OAUTHBEARER_SASL_SERVER_CALLBACK_HANDLER_CLASS=[nome_classe]

Quello che è strano è che chiaramente il caricamento della classe designata come sono comodamente facendo un log.warn("ctor...") nel costruttore di tali classi. Ma il stacktrace dimostra che non è di chiamare il handle metodo di dotazione di classe, ma invece AbstractLogin$DefaultLoginHandler classe:

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

C'è qualche suggerimento per perché è carico il gestore di classe, ma non lo si utilizza? Se ho semplicemente rimuovere le variabili di ambiente per entrambi LOGIN/SERVER_CALLBACK_HANDLER_CLASS, stessa Eccezione, ma senza AVVERTIRE dimostrando che la classe non è stato caricato. Una possibilità che non riesco a conciliare con il fatto che il stacktrace sembra riferirsi a un LoginCallbackHandler ma la classe che viene richiamato è il Server/ValidatorCallbackHandler; come se non fosse stato in grado di caricare il login gestore di callback e solo il Validatore gestore di callback, ma ho ricontrollato che a) le variabili di ambiente, inerente il corretto nome della classe (login==Login && server==Validator) e che i nomi delle classi sono davvero corretti.

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

Migliore risposta

0

qualcosa accade quando i post di stackoverflow e la risposta magicamente si rivela.

quello che dovevo fare è includere anche SASL config per l'ascoltatore:

KAFKA_LISTENER_NAME_INSIDE_PLAIN_SASL_JAAS_CONFIG="org.apache..."

E che quindi funziona con sia all'INTERNO che all'://PLAIN e FUORI://OAUTHBEARER.

2021-11-23 18:25:23

In altre lingue

Questa pagina è in altre lingue

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