Strophe.js всегда дает статус AUTHFAIL

Я разрабатываю приложение для чата с openfire в качестве сервера xmpp и strophe.js в качестве клиентской библиотеки и использую ruby ​​on rails на ubuntu.

Проблема в том, что strophe.js подключается к openfire, но дает статус AUTHFAIL и не создает пользователей. Он всегда возвращает статус 4 (AUTHFAIL).

openfire работает на >> localhost: 9090
приложение rails работает на >> localhost: 3000
служба BOSH работает на >> localhost: 7070/http-bind/

Код:-

    <script>
    var BOSH_SERVICE = 'http://localhost:7070/http-bind/';
    var connection = null;

    jQuery('#connect').click(function(){
        connection = new Strophe.Connection(BOSH_SERVICE);
        connection.connect($('#enter_id').get(0).value + "@localhost", null, onConnect);
    });

    function onConnect(status)
    {
        console.log("status is >> " + status);
        if(status == 5){
            console.log("inside if status is >> " + Strophe.Status.CONNECTED);
            console.log("onConnect >> " + status);
       connection.send($pres().tree());
         connection.addHandler(notifyUser, null, 'message', "chat");
      console.log("onConnect >> handler added");
        }

    }



    function notifyUser(msg) 
    {
            console.log("notifyUser >> " + msg);
    //  if (msg.getAttribute('from') == "[email protected]/pingstream") {
            var elems = msg.getElementsByTagName('body');
            var body = elems[0];
            jQuery('#chat_msg').append(Strophe.getText(body));
    //  }
        return true;
    }



    jQuery('#send_msg').click(function(){
        var msg_to_send = $msg({
            to: jQuery('#send_to').val() + "@localhost",
            from: connection.jid,
            type: "chat"
        }).c("body").t("hi!");

        connection.send(msg_to_send.tree());
    });

</script>

Пожалуйста, помогите.


person amrinder007    schedule 26.06.2013    source источник
comment
Пожалуйста, разместите тело строфы, как запрос, так и ответ.   -  person Milos Jovanovic    schedule 27.06.2013
comment
Вы проверяли, работает ли Openfire с каким-либо существующим клиентом XMPP, например Spark?   -  person Milos Jovanovic    schedule 27.06.2013


Ответы (2)


@amirinder007 Вы указываете неправильное имя сервера в своем коде. Я изучил ваш код и обнаружил, что вы указываете localhost и 127.0.0.1, вместо этого вы пишете имя сервера (Hostname), которое настроено с помощью openfire и вы также видите на домашней странице консоли администратора openfire и его имя, например Mycomputer-pc, в качестве имени персонального компьютера.

person Community    schedule 31.07.2013

Я думаю, указанное здесь имя сервера неверно. Попробуйте установить его как hostname, зарегистрированный в openfire, а не localhost.

person Kunal S. Kushwah    schedule 06.08.2013