#javascript #xmpp #openfire #jsjac
#javascript #xmpp #openfire #jsjac
Вопрос:
хорошо, я, наконец, в своем уме. У меня запущен XMPP-сервер (Openfire), и я пытаюсь подключиться через JavaScript с помощью JSJaC. Странно то, что я могу установить соединение для некоторых пользователей, но не для всех. Я могу воспроизвести следующее поведение: создайте две учетные записи (имя пользователя / пароль), а именно r / pwd и rr / pwd с результатом:
r / pwd работает
rr / pwd не работает.
Пока работает каждая учетная запись с именем пользователя, состоящим только из одного символа. Это достаточно странно. С другой стороны, старые учетные записи, например, alice / a, работают. Вся проблема с подключением довольно новая, и я не могу отследить ее по любым внесенным мной изменениям.
И чтобы дополнить мою путаницу с любым мессенджером, поддерживающим XMPP, все учетные записи работают, включая, например, rr / pwd. Итак, предположим, ошибка должна быть где-то в моем коде JavaScript. Вот соответствующий фрагмент:
...
oArgs = new Object();
oArgs.domain = this.server;
oArgs.resource = this.resource;
oArgs.username = "r";
oArgs.pass = "pwd";
this.connection.connect(oArgs);
Приведенный выше код работает, но установка oArgs.username = «rr» и сбой.
Я был бы благодарен за любые подсказки. Я совершенно уверен, что это должно быть что-то действительно глупое, чего я здесь не вижу.
Кристиан
Комментарии:
1. Это работает, когда я добавляю следующую строку
oArgs.authtype = 'nonsasl';
. Хотя на данный момент этого достаточно, я все же хотел бы понять, в чем была / есть проблема. Я ценю любые подсказки.2. Включить SASL в Openfire?
Ответ №1:
Добавление oArgs.authtype = 'nonsasl'
в список аргументов при создании xmpp-соединения с использованием JSJaC решило мою проблему. Я не пробовал команду Джо для изменения настроек SASL в Openfire; Я боюсь испортить свою работающую систему :).