Зарегистрировать нового пользователя в ejabberd с помощью REST API - PullRequest
0 голосов
/ 06 октября 2018

Я использую ejabberd-18.01 в Windows 10 (localhost).Я пытаюсь подключиться к ejabberd через Почтальон с помощью веб-метода:

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 Ответ

0 голосов
/ 10 октября 2018

внесите эти изменения в файл конфигурации вашего 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

...