Converse.js - Prosody не предлагает поддерживаемый механизм аутентификации
Converse.js успешно отправляет запросы в Prosody, но чат-клиент никогда не подключается. В консоли я вижу, как она попадает в конечную точку bosh и после каждого запроса выводит на консоль:
"Сервер еще не предлагал поддерживаемый механизм аутентификации. Отправка пустого запроса на опрос".
Я также могу подключиться к конечной точке bosh в своем браузере, похоже, что проход прокси работает должным образом, а bosh работает и отвечает на запросы.
Любое понимание очень ценится.
1 ответ
Я сталкивался с этой проблемой также, используя демонстрацию полной страницы. Проблема была в том, что Prosody заставляла зашифрованную аутентификацию только на стороне клиента.
Я рекомендую перейти в конфигурационный файл /etc/prosody/prosody.cfg.lua
Ищи код
-- Force clients to use encrypted connections? This option will
-- prevent clients from authenticating unless they are using encryption.
c2s_require_encryption = true
По умолчанию для меня это было установлено в true, измените это на false
c2s_require_encryption = false
сохраните его и перезагрузите Prosody
systemctl restart prosody
Вы могли бы также сделать
prosodyctl restart
Сообщение об ошибке совершенно ясно. Prosody не предлагает механизм аутентификации SASL, поддерживаемый Converse.
По умолчанию Converse поддерживает SCRAM-SHA1, DIGEST-MD5 и PLAIN.
Ваш XMPP-сервер должен поддерживать один из них.