3

I am trying to interface with ejabberdctl remotely so my nodeJS client can send commands to a remote jabber server, using the mod_restful plugin with the ejabberd REST API. I am able to send a request using postman to test, with admin user and password sent in the header of the POST requests. I have edited my ejabberd.yml to include:

api_permissions:
"API used from localhost allows all calls":
- who:
  - ip: "127.0.0.1/8"
- what:
  - "*"
commands_admin_access:
  - allow:
  - user: "admin@localhost"
commands:
  - "*"
  - create_room: "*"
- register: "*"
# Tokens are valid for a year as default:
auth_expire: 31536000
oauth_access: all

and my ejabberd.cfg config file includes:

{mod_restful, [
    {api,
     [
      {["admin"], mod_restful_admin, [
       {key, "secret"},
       {allowed_commands, [register, unregister,create_room]}
      ]},
      {["register"], mod_restful_register, [{key, "secret"}]}
     ]}
   ]}

I am accessing my admin api at /api/admin and for some reason all the commands i try are succesfully authenticating, but I continually receive the error as response in postman:

"command_unknown"

I must have just incorrectly configured something, but I'm really not sure what. Im a bit confused of the overlap of settings between the YML and CFG files.

Cœur
  • 37,241
  • 25
  • 195
  • 267
kinghenry14
  • 1,187
  • 1
  • 11
  • 34

0 Answers0