Kafka pobiera klasa przetwarzania wywołania zwrotnego SASL, ale go nie używa.

0

Pytanie

Staram się realizować OAUTHBEARER jako mechanizm SASL. Częściowo jest to związane z tym, że muszę zastąpić klasy obsługi wywołania serwera i logowania. Używam docker i w ten sposób ustawiam je za pomocą zmiennych środowiskowych:

KAFKA_LISTENER_NAME_OUTSIDE_OAUTHBEARER_SASL_SERVER_CALLBACK_HANDLER_CLASS=[nazwa klasy]

Co dziwne, to to, że jest on wyraźnie pobiera klasa, kiedy zręcznie wykonuję log.warn("ctor...") w konstruktorze wymienionych klas. Ale śledzenie stosu wskazuje na to, że nie powoduje handle metoda udzielonego klasy, ale zamiast tego klasa 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)

Czy są jakieś sugestie co do tego, dlaczego ładuje klasę obsługi, ale nie używa go? Jeśli po prostu usunę zmienne środowiskowe dla obu klas LOGIN/SERVER_CALLBACK_HANDLER_CLASS, to wyjątek, ale bez OSTRZEŻENIA, potwierdzającego, że klasa została załadowana. Jedną z możliwości, z której ja naprawdę nie mogę się pogodzić, polega na tym, że ślad stosu, wygląda na to, odwołuje się do obsługi oddzwonienia logincall, ale druga klasa to serwer/validator; jakby nie mógł pobrać obsługi oddzwonienia logowania i tylko obsługi oddzwonienia walidator, ale ja dwa razy sprawdził, że a) zmienne środowiskowe odnoszą się do poprawnej nazwy klasy (login==Login && server==Validator) i że nazwy klas naprawdę odpowiednie.

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

Najlepsza odpowiedź

0

coś się dzieje, gdy wysyłam wiadomość na stackoverflow, i odpowiedź w magiczny sposób objawia.

co trzeba było zrobić, to włączyć konfigurację SASL dla innego słuchacza:

KAFKA_LISTENER_NAME_INSIDE_PLAIN_SASL_JAAS_CONFIG="org.apache..."

I wtedy to działa jak w ŚRODKU://ZWYKŁY, jak i na ZEWNĄTRZ://OAUTHBEARER.

2021-11-23 18:25:23

W innych językach

Ta strona jest w innych językach

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