XMPP-соединение с сервером openfire

Я изучаю XMPP на основе Strophe.js и сервера openfire, потому что мне это нужно в будущем проекте.

Я настроил свою учетную запись администратора openfire, базу данных mysql, протокол Bosh и URL-адрес для привязки http.

Я создал свой первый пример, вот html (я включил все файлы js, которые мне нужны, в заголовок html, такие как 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)

На данный момент все хорошо ... Но когда я ввожу другие значения, отличные от моего имени пользователя и пароля администратора, это дает мне те же результаты статуса?

Это означает, что соединение устанавливается независимо от введенного имени пользователя и пароля !!!

Что случилось?


person SmootQ    schedule 01.10.2013    source источник
comment
Возможно, у вас включена анонимная аутентификация в Openfire?   -  person MattJ    schedule 01.10.2013
comment
Я собираюсь проверить @MattJ   -  person SmootQ    schedule 01.10.2013
comment
Да, было установлено anonymous=true, я изменил на anonymous=false, но ничего не изменилось, та же проблема осталась.   -  person SmootQ    schedule 01.10.2013


Ответы (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 или паролем) может пройти аутентификацию и подключиться к серверу.

2- После отключения анонимного входа: Strophe даже не может подключиться к серверу.

Любая идея?

Изменить

Я нашел, что не так. при тестировании: я вводил имя пользователя, а не комбинацию имени пользователя и сервера (которая является пользовательским jid по умолчанию) ... Я думал, что jid - это имя пользователя. проблема решена

person SmootQ    schedule 02.10.2013
comment
Я нашел, что не так. при тестировании: я вводил имя пользователя, а не комбинацию имени пользователя и сервера (которая является пользовательским jid по умолчанию) ... Я думал, что jid - это имя пользователя. проблема решена - person SmootQ; 02.10.2013