Как использовать токен OAuth для соединения с ejabberd в Stophe.js?

Я пытаюсь подключиться к серверу ejabberd из strophe.js. Я включил OAuth в ejabberd и благодаря этому смог успешно получить токен OAuth для пользователя, как только пользователь прошел аутентификацию. Рабочий процесс выглядит примерно так:

  1. Когда пользователь регистрируется в моем веб-приложении, я создаю учетную запись ejabberd для пользователя с теми же учетными данными.
  2. Пользователь входит в мое веб-приложение
  3. При успешном входе в систему я захожу в ejabberd с помощью механизма OAuth.
  4. OAuth-токен передается клиенту
  5. Теперь клиент, использующий strophe.js, устанавливает соединение с ejabberd для выполнения всех других операций, таких как получение списка участников, отправка информации о присутствии, отправка сообщения и т. Д.

Я столкнулся с проблемой на шаге 4, так как не могу найти подходящий способ отправки OAuth-токена в ejabberd при установлении соединения. Кстати, я новичок в strophe.js. Весь пример в интернете использует имя пользователя и пароль. Я не хочу снова запрашивать пароль у пользователя, и я не хочу вводить жесткий код в файл.

Заранее спасибо.

0 ответов

Вы можете использовать токен OAuth для подключения к серверу ejabberd из strophe.

  1. Токен OAuth, созданный из API, должен иметь область действия sasl_auth
  2. При создании механизма опций передачи экземпляра strophe как [Strophe.SASLXOAuth2]
  3. При подключении замените пароль своим токеном oauth, например. connection.connect(jid, ejabberd_oauth_token)
Другие вопросы по тегам