diff --git a/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java b/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java index da381421dcca4..7d1e8ab58e11c 100644 --- a/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java +++ b/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java @@ -76,6 +76,10 @@ protected Configuration configuration() { return configuration; } + protected AuthenticateCallbackHandler getLoginCallbackHandler() { + return this.loginCallbackHandler; + } + /** * Callback handler for creating login context. Login callback handlers * should support the callbacks required for the login modules used by diff --git a/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java b/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java index cbe4fd6e96d83..e8656da64d9b1 100644 --- a/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java +++ b/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java @@ -370,7 +370,7 @@ protected void reLogin() throws LoginException { } //login and also update the subject field of this instance to //have the new credentials (pass it to the LoginContext constructor) - loginContext = new LoginContext(contextName(), subject, null, configuration()); + loginContext = new LoginContext(contextName(), subject, getLoginCallbackHandler(), configuration()); log.info("Initiating re-login for {}", principal); login(loginContext); }