我有大问题。每次当我尝试连接到任何 jabber 服务器时,我都会收到“SASL 身份验证 DIGEST-MD5 失败”通知。我不使用 JPasswordField 时没有这个错误,但是在 IM 中使用 JTextField 是没有意义的。我已经尝试了我找到的所有方法,但都是一样的。
编码:
private void bLoginAction(JTextField login, JPasswordField pass) {
loginText = login.getText();
passText = pass.getPassword().toString();
String[] data = loginText.split("@");
Connection.DEBUG_ENABLED = true;
ConnectionConfiguration config = new ConnectionConfiguration(data[1], 5222);
Connection con = new XMPPConnection(config);
try {
con.connect();
} catch (XMPPException e) {
e.printStackTrace();
}
try {
con.login(loginText, passText);
} catch (XMPPException e) {
e.printStackTrace();
}
}
从 printStackTrace() 打印:
SASL 身份验证 DIGEST-MD5 失败: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)