3

我正在尝试与 ejabberdctl 远程交互,以便我的 nodeJS 客户端可以使用带有ejabberd REST API的 mod_restful 插件将命令发送到远程 jabber 服务器。我可以使用邮递员发送请求进行测试,并在 POST 请求的标头中发送管理员用户和密码。我编辑了我的 ejabberd.yml 以包括:

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

我的 ejabberd.cfg 配置文件包括:

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

我正在访问我的管理 api,/api/admin由于某种原因,我尝试的所有命令都成功验证,但我不断收到错误作为邮递员的响应:

"command_unknown"

我一定只是错误地配置了一些东西,但我真的不确定是什么。我对 YML 和 CFG 文件之间的设置重叠感到有些困惑。

4

0 回答 0