XMPP连接到openfire服务器

时间:2013-10-01 16:02:36

标签: javascript xmpp openfire strophe

我正在学习基于Strophe.js和openfire服务器的XMPP,因为我在未来的项目中需要它。

我已经配置了我的openfire管理员帐户,mysql数据库,Bosh协议和http绑定的URL。

我创建了我的第一个例子,这里是html(我在html标题中包含了我需要的所有js文件,如strophe.js,flXHR.js和strophe.flXHR.js):

<ul>
    <li>JID : <input type="text" name="jid" id="jid" /></li>
    <li>PASS : <input type="password" name="password" id="password"/></li>
    <li><input type="button" value="connect" id="connect" name="Connect" /></li>
</ul>

这是javascript代码:

$(document).ready(function(){

      connection=null;
      $('#connect').click(function (ev) {
            var jid=$('#jid').val();
            var pass=$('#password').val();

       var conn = new Strophe.Connection("http://127.0.0.1:2580/http-bind/");
       conn.connect(jid, pass, function (status) {
                  console.log(status);
           });
       connection = conn;
    });
});

当我测试代码时,我输入我的openfire服务器用户名和密码(admin,123)...点击“连接”并等待。

console.log显示以下状态值:

1 (connecting)
3 (authenticating)
5 (connected)

到目前为止,一切都很好......但是当我输入与我的管理员用户名不同的其他值并通过时,它会给我相同的状态结果吗?

这意味着,无论输入用户名是什么,都建立连接并传递!!!

怎么了?

1 个答案:

答案 0 :(得分:1)

我想我终于解决了部分问题,我去了to server > server settings > registration & login,并禁用了匿名登录。

我之前做的是server > server manager > system properties,并将xmpp.auth.anonymous设置为false。

现在,又出现了另一个问题,没有用户可以登录...第一篇文章中的js代码现在显示了这些状态消息:

  1 (connecting)
    2 (connection failed)
    7 (disconnecting)
    6 (disconnected)

禁用匿名登录后似乎变得更糟。看来:

1-禁用匿名登录之前:每个用户(即使jid或pass都不正确)都可以进行身份​​验证并连接到服务器。

2-禁用匿名登录后: Strophe甚至无法连接到服务器。

有什么想法吗?