Зарегистрировать нового пользователя в ejabberd с помощью REST API
Я использую ejabberd-18.01 на Windows 10 (localhost). Я пытаюсь подключиться к ejabberd через Postman, используя веб-метод:
POST: localhost: 5280 / api / specific_api_method
В соответствии с официальной документацией API ( https://docs.ejabberd.im/developer/ejabberd-api/admin-api/) я пытаюсь добавить элемент списка, используя метод POST, с приведенным ниже текстом:
POST: localhost: 5280 / api / add_rosteritem
{
"localuser": "user1",
"localserver": "mydomain",
"user": "admin",
"server": "mydomain",
"nick": "u1",
"group": "Friends",
"subs": "both"
}
Я получаю ошибку:
{
"status": "error",
"code": 32,
"message": "AccessRules: Account does not have the right to perform the operation."
}
Я буду благодарен, если кто-нибудь может подсказать мне, как аутентифицировать себя и добавить нового пользователя или элемент списка в ejabberd с помощью веб-API. Благодарю.
1 ответ
Внесите эти изменения в файл конфигурации вашего файла yml
измените loopback в acl на это:
loopback:
ip:
- "127.0.0.0/8"
- "::1/128"
- "::FFFF:127.0.0.1/128"
и используйте это api_permissions:
api_permissions:
"console commands":
from:
- ejabberd_ctl
who: all
what: "*"
"admin access":
who:
- access:
- allow:
- ip: "127.0.0.1/8"
- acl: admin
- oauth:
- scope: "ejabberd:admin"
- access:
- allow:
- ip: "127.0.0.1/8"
- acl: admin
what:
- "*"
- "!stop"
- "!start"
"public commands":
who:
- acl: loopback
what:
- "status"
- "register"
- "connected_users_number"
Эта проблема была закрыта по адресу: Доступ запрещен на ejabberd