Openfire SASL authentication failures

Hello,

We have the following error when trying to connect to the chat server using a custom client.
The user was created using the REST API plugin (1.6.0).
Openfire version is 4.6.8.

org.jivesoftware.openfire.net.SASLAuthentication - SASL negotiation failed for session: HttpSession{address=myserver/8j3bxscyd9, streamID=8j3bxscyd9, status=1 (connected), isSecure=false, isDetached=false, serverName='myserver', isInitialized=false, hasAuthToken=false, peer address='peerIP', presence='
<presence type="unavailable"/>', hold='1', wait='10', maxRequests='2', maxPause='300', lastActivity='1692947211282', lastAcknowledged='2127689451', inactivityTimeout='30', openConnectionCount='1'}
javax.security.sasl.SaslException: Authentication failed for: 'user'
at org.jivesoftware.openfire.sasl.ScramSha1SaslServer.generateServerFinalMessage(ScramSha1SaslServer.java:203) ~[xmppserver-4.6.8.jar:4.6.8]
at org.jivesoftware.openfire.sasl.ScramSha1SaslServer.evaluateResponse(ScramSha1SaslServer.java:118) ~[xmppserver-4.6.8.jar:4.6.8]
at org.jivesoftware.openfire.net.SASLAuthentication.handle(SASLAuthentication.java:370) [xmppserver-4.6.8.jar:4.6.8]
at org.jivesoftware.openfire.SessionPacketRouter.route(SessionPacketRouter.java:60) [xmppserver-4.6.8.jar:4.6.8]
at org.jivesoftware.openfire.http.HttpSession.sendPendingPackets(HttpSession.java:612) [xmppserver-4.6.8.jar:4.6.8]
at org.jivesoftware.openfire.http.HttpSession$HttpPacketSender.run(HttpSession.java:1329) [xmppserver-4.6.8.jar:4.6.8]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_381]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_381]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_381]

We tried disabling the MD5 Sasl mechanism (as mentioned here: 'Authentication failed' message but credentials are valid - #2 by guus) but with no success.

Any idea on what else we should try?

Can you verify what kind of authentication mechanism your client tries to use? Openfire seems to think it wants to use the SASL mechanism named SCRAM-SHA-1. Is that what you intend to use?

When providing the username, does your client include the XMPP domain (eg: user vs users@domain.example). Try doing the other thing as what your client is currently doing.