Smack 3.2.2 SASL身份验证DIGEST-MD5失败:invalid-authzid

时间:2012-07-11 14:27:47

标签: java smack sasl

我有很大的问题。每次当我尝试连接到任何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)   在org.jivesoftware.smack.Connection.login(Connection.java:348)

1 个答案:

答案 0 :(得分:0)

不要使用 toString()。请尝试使用 getPassword(),如图所示here。即使使用JTextField,您也应该使用 getText()而不是 toString()

这不是一个棘手的问题,而是一个直接的Java问题。

相关问题