JSJaC Openfire: нет связи с некоторыми пользователями

#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; Я боюсь испортить свою работающую систему :).