Kafka chargement SASL rappel de la manipulation de la classe, mais ne l'utilisez pas

0

La question

Je suis en train de mettre en œuvre OAUTHBEARER comme le mécanisme SASL. C'est en partie j'ai besoin de remplacer à la fois le serveur et de connexion du gestionnaire de rappel des classes. Je suis en utilisant le panneau et donc un réglage via les variables d'environnement:

KAFKA_LISTENER_NAME_OUTSIDE_OAUTHBEARER_SASL_SERVER_CALLBACK_HANDLER_CLASS=[class_name]

Ce qui est bizarre, c'est que c'est clairement le chargement de la classe que je suis haut la main en faisant un log.warn("ctor...") dans le constructeur de ces catégories. Mais la stacktrace montre qu'il n'est pas l'appel de la handle méthode de la classe, mais au lieu 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)

Est-il des suggestions quant à pourquoi il est le chargement de la classe de gestionnaire, mais ne l'utilise pas? Si j'ai simplement supprimer les variables d'environnement pour les LOGIN/SERVER_CALLBACK_HANDLER_CLASS, même Exception, mais sans les AVERTIR de prouver que la classe a été chargé. Une possibilité que je ne peux pas vraiment les rapprocher, c'est que la stacktrace semble renvoyer à un LoginCallbackHandler mais la classe invoquée est le Serveur/ValidatorCallbackHandler; comme si elle n'était pas en mesure de charger la connexion du gestionnaire de rappel et seulement le Validateur du gestionnaire de rappel, mais j'ai vérifié que les variables d'environnement concernent le bon nom de la classe (login==Login && server==Validator) et que les noms de classe sont en effet correcte.

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

La meilleure réponse

0

il se passe quelque chose quand je poste sur stackoverflow et la réponse comme par magie révèle lui-même.

ce dont j'avais besoin pour faire est d'inclure également SASL config pour l'autre auditeur:

KAFKA_LISTENER_NAME_INSIDE_PLAIN_SASL_JAAS_CONFIG="org.apache..."

Et puis, il travaille à la fois à l'INTÉRIEUR://PLAIN et à l'EXTÉRIEUR://OAUTHBEARER.

2021-11-23 18:25:23

Dans d'autres langues

Cette page est dans d'autres langues

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