silent authentication for local user failed with jboss-client.jar in JBoss EAP 8.0.x
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 8.0
Issue
-
Though silent authentication for local user (connecting from localhost) is enabled for manangement port in JBoss EAP 8.x, authentication failure happens when connection the server from localhost with with jboss-client.jar in JBoss EAP 8.0.x.
-
When I execute JMX client application (like an example code in this article) with jboss-client.jar for JBoss EAP 8.0 with the default configuration (= silent authentication for local user is enabled for management port by default), it unables to connect the server with the following authentication exception:
Exception in thread "main" javax.security.sasl.SaslException: Authentication failed: none of the mechanisms presented by the server (JBOSS-LOCAL-USER, DIGEST-MD5) are supported at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:443) at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:244) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) at org.xnio.nio.WorkerThread.run(WorkerThread.java:603) at ...asynchronous invocation...(Unknown Source) at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:600) at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:561) at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:549) at org.jboss.remotingjmx.RemotingConnector.internalRemotingConnect(RemotingConnector.java:268) at org.jboss.remotingjmx.RemotingConnector.internalConnect(RemotingConnector.java:156) at org.jboss.remotingjmx.RemotingConnector.connect(RemotingConnector.java:103) at java.management/javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270) at JmxClient.main(JmxClient.java:51)The same application did not face the issue when connection JBoss EAP 7.4 with jboss-client.jar included in JBoss EAP 7.x.
Resolution
- This issue has been reported as This content is not included.JBEAP-26880 (and This content is not included.WFLY-18536 for upstream) and will be fixed in future releases. (Tentatively, it will be included in JBoss EAP 8.0 Update 3+ .)
As workaround, you can:
- Add
jboss-cli-client.jarto classpath in addition. - Or, just use
jboss-cli-client.jarinstead ofjboss-client.jarifjboss-cli-client.jaris sufficient for your usage.
For example, as described as an example of execution command in the article, JMX client application does not need jboss-cli-client.jar but it can run with jboss-cli-client.jar. So, you can use jboss-cli-client.jar instead of jboss-client.jar for your JMX client.
Root Cause
- This content is not included.[JBEAP-26880] LocalUserClient missing from jboss-client.jar
- This content is not included.[WFLY-18536] LocalUserClient missing from jboss-client.jar
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.