加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 尝试使用Smack结果登录到XMPP服务器在SASL“未授权”

发布时间:2020-12-14 05:23:29 所属栏目:Java 来源:网络整理
导读:我试图使用Smack登录到XMPP服务器.当尝试登录时,我会收到以下错误消息: SASL authentication PLAIN failed: not-authorized 我已经能够使用相同凭据的PSI-IM连接并登录服务器. 这是我目前拥有的: System.setProperty("smack.debugEnabled","true"); XMPPCo
我试图使用Smack登录到XMPP服务器.当尝试登录时,我会收到以下错误消息:

SASL authentication PLAIN failed: not-authorized

我已经能够使用相同凭据的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("user@bla.net","blablabla");
    } catch (XMPPException e) {
        e.printStackTrace();
    }

这是我使用的DummySSLSocketFactory:http://svn.igniterealtime.org/svn/repos/spark/tags/spark_2_5_3_s/src/java/org/jivesoftware/spark/util/DummySSLSocketFactory.java

我在想,问题是,当我通过PSI连接时,我需要选择“旧式SSL”,但我不知道如何在Java中进行这种操作.

感谢任何帮助

解决方法

尝试登录(),而不使用用户名中的域名部分:
connection.login("user","password");

connection.login("user@example.org","password");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读