9

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("user@bla.net", "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

Flow
  • 23,572
  • 15
  • 99
  • 156
Shishigami
  • 441
  • 3
  • 7
  • 20

1 Answers1

20

Try login() without the domain part in the username:

connection.login("user", "password");

not

connection.login("user@example.org", "password");
Flow
  • 23,572
  • 15
  • 99
  • 156