ejabberd - Конфигурация mod_http_api

Я нахожусь в процессе тестирования mod_http_api, чтобы заменить существующее использование mod_rest в нашей реализации.

Я могу ограничить доступ к некоторым командам из группы IP-адресов, используя опцию "admin_ip_access". Я могу успешно выполнить некоторые команды (например, change_password).

Однако в некоторых случаях нам может потребоваться войти в систему как для пользователя (собственный), так и для администратора (собственный и другой пользователь).

Тем не менее, когда я попытался войти с Basic Auth. Это не удачно. Я продолжаю получать следующее. Если мое предположение верно, это может быть связано с конфигурацией.

Буду очень признателен, если кто-нибудь сможет показать мне, как должна быть выполнена правильная настройка.

{
  "status": "error",
  "code": 31,
  "message": "Command need to be run with admin priviledge."
}

Текущая конфигурация

modules:
  mod_http_api:
    admin_ip_access: admin_ip_access_rule

acl:
  admin_ip_acl:
     ip:
       - "xx.xx.xx.xx/32"

access:
  admin_ip_access_rule:
    admin_ip_acl:
       - all

РЕДАКТИРОВАТЬ

Для тестирования я включил следующую конфигурацию:

commands_admin_access: configure
commands:
  - add_commands:
     - status
     - get_roster
     - change_password
     - register
     - unregister
     - registered_users
     - muc_online_rooms
     - oauth_issue_token

Я смог успешно выполнить команды пользователя и администратора для перечисленных команд внутри add_commands теги. Работает как положено. Тем не менее, я все еще сталкиваюсь с некоторыми проблемами, большинство из которых связано с ограничением IP. Вызов API с хоста, который не указан в admin_ip_acl также успешно, где я ожидаю получить ошибку при вызове хоста без белого

1 ответ

API требует токен OAuth для аутентификации. Вы должны сгенерировать один с правильной областью действия. Если команда ограничена администратором, вам также необходимо передать заголовок HTTP: "X-Admin: true", чтобы ejabberd узнал, что он должен считать вас администратором.

Другие вопросы по тегам