2015-01-20 09:38 采纳率: 0%
浏览 1623

asmack4.06:SASLError using PLAIN: not-authorized

SASLError using PLAIN: not-authorized

求助:
使用asmack4.06+openfire3.93开发移动IM,遇到一个问题:登录的时候,如果正确输入用户名和密码,则可以正常登录到openfire服务;如果输入的用户名或密码错误,则会报错如下:

org.jivesoftware.smack.sasl.SASLErrorException: SASLError using PLAIN: not-authorized

//连接服务器的代码片段
config = new ConnectionConfiguration(Constants.HOST, Constants.PORT);
config.setSecurityMode(SecurityMode.disabled);
config.setDebuggerEnabled(true);
SASLAuthentication.supportSASLMechanism("PLAIN",0);
connection = new XMPPTCPConnection(config);
connection.connect();

//登录的代码片段
ConServer.getConnection().login(username, password);
ConServer.getConnection().sendPacket(new Presence(Presence.Type.available));

是否需要在openfire服务器上配置某些参数?

图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 06:59
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可能是因为您的OpenFire服务器没有启用SSL/TLS加密或者配置了不正确的证书。要解决这个问题,请按照以下步骤操作:

    1. 首先确保您的OpenFire服务器已经启用了SSL/TLS加密,并且正在运行。

    2. 确保您的XMPPTCPConnection类中包含了setSSLContext(SSLContext)方法来初始化一个SSL上下文对象。

    connection.setSSLContext(sslContext);
    
    1. 如果您使用的是JDK 8及以上版本,还应该添加javax.net.ssl.KeyManagerFactoryjavax.net.ssl.TrustManagerFactoryjavax.net.ssl.SSLContext等包到项目依赖中。
    <dependency>
        <groupId>javax.net</groupId>
        <artifactId>javax.net-api</artifactId>
        <version>1.0</version>
    </dependency>
    
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>3.0</version>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>jdk.internal.jce</groupId>
        <artifactId>jce-jdk8-with-ea</artifactId>
        <version>1.8.0_252</version>
    </dependency>
    
    1. 在您的XMPPTCPConnection类中,检查setSSLContext()方法是否被调用,以及它是否返回了一个有效的SSL上下文对象。

    2. 检查OpenFire服务器上的SSL/TLS证书文件是否存在并符合要求。如果没有,您可以从OpenFire官方网站或其他可信来源下载适当的证书文件,并将其上传到服务器上。

    3. 确保您的用户在尝试登录时输入了正确的用户名和密码。如果输入的用户名或密码不匹配,系统可能会抛出异常。

    4. 如果问题仍然存在,您可以考虑将问题报告给OpenFire支持团队,他们通常能提供更专业的帮助。

    评论

报告相同问题?