Как работает ejabberd external auth?

Если я использую свой собственный скрипт PHP как auth_method: external, все isuser а также auth вызовы перенаправляются на мой скрипт, верно? Так что, если какой-либо процесс (ejabberdctl, веб-панель, ejabberdctl) попытается зарегистрироваться или войти в систему, он будет перенаправлен на мой скрипт.

Я пытался зарегистрировать пользователей через API или ejabberdctl register, Но потом я заметил, что и эти вызовы перенаправляются в мой скрипт через tryregister, И даже если я отвечу 1, пользователи не станут зарегистрированными пользователями в ejabberd. (Я ожидаю, что я могу сделать свой собственный бит, но они также окажутся в ejabberd.)

Но я все еще могу поместить информацию vcard для этих пользователей в ejabberd! И получить это. Итак, используя мою внешнюю аутентификацию:

  • Я не могу зарегистрировать пользователей в ejabberd только «на моей стороне» с помощью собственного скрипта,
  • Они не появятся в registered_users ответ. Только ранее добавленные пользователи (используя auth_method: internal) в этом ответе.
  • я Можно положить данные vcard в ejabberd, используя set_vcard и т.д. API-вызовы.
  • И вернуть эти значения с get_vcard с помощью host, user и поле vcard name,

Если пользователи не зарегистрированы в ejabberd, почему я все еще могу установить и получить данные vcard? И какая польза от этого, если я не могу получить список пользователей / владельцев vcard / однако мне следует позвонить им (они не являются «зарегистрированными пользователями»)?

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

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector