Kafka Channel fatal error caused by "javax.security.auth.login.LoginException: Could not login"
book
Article ID: KB0072898
calendar_today
Updated On:
Products
Versions
TIBCO BusinessEvents Enterprise Edition
6.1 and later
Description
When a BE application using the Kafka Channel is started, a fatal error occurs:
2021 Oct 28 14:12:43.125 GMT -04:00 kafka.tibco.com FATAL [main] -
[container.standalone] Failed to construct kafka consumer
...
Caused by: org.apache.kafka.common.KafkaException:
javax.security.auth.login.LoginException: Could not login: the client is being
asked for a password, but the Kafka client code does not currently support
obtaining a password from the user. not available to garner
authentication information from the user
Our Kafka broker requires that clients authenticate with Kerberos. What does this error mean and how can it be avoided?
Environment
All Supported Platforms
Resolution
This error indicates that the Kerberos user's keytab file is not being referenced in the client's jaas configuration. In this case, the client is the TIBCO BusinessEvents application that uses the Kafka Channel.
Inspect the client's jaas configuration file, which is typically referenced by your BE application using the Java system property 'java.security.auth.login.config'. For example, in the BE project's CDD file under Cluster > Properties:
Here, the user's keytab file is expected to exist under C:/keytabs/. If the keytab file exists and you still face this fatal error, consult with your Kerberos administrator to obtain an updated copy of the keytab file.
To assist in troubleshooting, set the 'sun.security.krb5.debug' system property to 'true'. Again, you may do this in your project's CDD file: