I'm trying to use Smack to log into a XMPP server. When trying to login I get the following Error :
SASL authentication PLAIN failed: not-authorized
I have been able to connect and log into the server using PSI-IM with the same credentials.
This is what I currently have :
System.setProperty("smack.debugEnabled", "true");
XMPPConnection.DEBUG_ENABLED = true;
SASLAuthentication.supportSASLMechanism("PLAIN", 0);
ConnectionConfiguration configuration = new ConnectionConfiguration("chat.bla.com", 5223);
configuration.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
configuration.setSocketFactory(new DummySSLSocketFactory());
configuration.setSASLAuthenticationEnabled(true);
configuration.setDebuggerEnabled(true);
configuration.setServiceName("bla.net");
Connection connection = new XMPPConnection(configuration);
try {
connection.connect();
connection.login("[email protected]", "blablabla");
} catch (XMPPException e) {
e.printStackTrace();
}
This is the DummySSLSocketFactory I'm using : http://svn.igniterealtime.org/svn/repos/spark/tags/spark_2_5_3_s/src/java/org/jivesoftware/spark/util/DummySSLSocketFactory.java
I'm thinking that the problem is that I need to select 'Legacy SSL' when connecting through PSI, I'm not sure howto do that in Java though.
Thanks for any help
Try login()
without the domain part in the username:
connection.login("user", "password");
not
connection.login("[email protected]", "password");