我試圖使用Smack登錄到XMPP服務器。當試圖登錄我收到以下錯誤:嘗試使用Smack登錄到XMPP服務器結果在SASL「未經授權」
SASL認證平原失敗:未授權
我已經能夠連接並登錄到使用PSI-IM具有相同的憑證服務器。
這是我目前有:
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();
}
這是我使用的DummySSLSocketFactory:我想這個問題是我需要選擇「傳統SSL」當http://svn.igniterealtime.org/svn/repos/spark/tags/spark_2_5_3_s/src/java/org/jivesoftware/spark/util/DummySSLSocketFactory.java
通過PSI連接,我不知道如何在Java中做到這一點。
感謝所有幫助
嘗試'登錄()'不帶域部分,即'connection.login(「user」,「blablabla」);' – Flow
呃,修正了它。非常感謝 – Shishigami
這可能是因爲用戶名或密碼錯誤。 – Krishna