写点什么

Smack 库 XMPP Tigase 异常 SASLErrorException

作者:Changing Lin
  • 2021 年 12 月 06 日
  • 本文字数:1090 字

    阅读完需:约 4 分钟

1.问题

[E][2021-11-26 +0.0 23:59:57.012][2892, 2*][XmppViewModel][, , 0][reconnectXmppThread: 开始执行重连操作![I][2021-11-26 +0.0 23:59:57.012][2892, 68][XmppManager][, , 0][Xmpp线程开始启动: com.nufront.trunking.common.xmpp.XmppManager$2@78c0aa4[I][2021-11-26 +0.0 23:59:57.012][2892, 68][XmppManager][, , 0][startInternal mConnection: XMPPTCPConnection[not-authenticated] (0)-true[E][2021-11-26 +0.0 23:59:57.019][2892, 68][LogUtil][, , 0][异常情况:org.jivesoftware.smack.sasl.SASLErrorException: SASLError using PLAIN: not-authorized	at org.jivesoftware.smack.SASLAuthentication.authenticationFailed(Unknown Source:9)	at org.jivesoftware.smack.AbstractXMPPConnection.f(Unknown Source:2)	at t.e.a.g.accept(Unknown Source:4)	at org.jivesoftware.smack.NonzaCallback$ClassAndConsumer.accept(Unknown Source:10)	at org.jivesoftware.smack.NonzaCallback$ClassAndConsumer.access$200(Unknown Source:0)	at org.jivesoftware.smack.NonzaCallback.onNonzaReceived(Unknown Source:12)	at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessNonza(Unknown Source:115)	at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1700(Unknown Source:0)	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(Unknown Source:702)	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(Unknown Source:0)	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(Unknown Source:35)	at java.lang.Thread.run(Thread.java:919)[I][2021-11-26 +0.0 23:59:57.020][2892, 68][XmppManager][, , 0][Xmpp线程执行完毕: 3[I][2021-11-26 +0.0 23:59:57.020][2892, 2*][XmppService][, , 0][当前XMPP连接状态: 3
复制代码

2.说明

  • 如上日志所示,用户反馈在内网的环境下,存在 XMPP 连接不稳定问题,并且持续无法重连成功。

  • 经过日志分析,可以看到在执行登陆 XMPP 服务的时候,出现异常,SASLError using PLAIN: not-authorized,也就是 使用 PLAIN 的校验方法,但是没有校验通过

3.解决方法

  • 可能 CS 两端 authorization policy 不一致导致或是否与内网环境有关

  • 解决方法是 禁止 PLAIN 算法校验,使用 DIGEST-MD5 校验,经测试重连功能正常

						SASLAuthentication.unBlacklistSASLMechanism("PLAIN");            SASLAuthentication.blacklistSASLMechanism("DIGEST-MD5");            mConnection.login(mUserId,mPassword);
复制代码


用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
Smack库 XMPP Tigase异常SASLErrorException