Eu estou tentando codificar um exemplo simples usando a versão mais recente do Smack (3.2.1) para enviar e receber mensagens entre duas contas.
Connection connection = new XMPPConnection("jabber.org"); connection.connect(); connection.login("username", "password");
Mas eu não consigo nem passar da parte de login. Quando executo o código acima, recebo esta exceção:
Exception in thread "main" SASL authentication DIGEST-MD5 failed: invalid-authzid: at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:337) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203) at org.jivesoftware.smack.Connection.login(Connection.java:348) at com.smack.TestSmack.main(TestSmack.java:19)
O que está acontecendo aqui? Tenho certeza de que meu nome de usuário e senha funcionam porque consigo fazer login usando meu cliente de mensagens instantâneas.
E alguém pode me apontar para exemplos atuais da Smack? Isso é muito frustrante porque a documentação e a biblioteca parecem fora de sincronia.
Obrigado-
Você poderia verificar se não está adicionando “@ jabber.org” no final do nome de usuário? Se você fizer isso, não vai funcionar.
Caso contrário, se você já fizer isso, tente usar
SASLAuthentication.supportSASLMechanism("PLAIN", 0);
antes
connection.login("username", "password");