ejabberd REST APIで mod_restful プラグインを使用して、nodeJS クライアントがリモート jabber サーバーにコマンドを送信できるように、ejabberdctl とリモートでやり取りしようとしています。postman を使用してリクエストを送信し、管理者ユーザーとパスワードを 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 ファイルの間の設定の重複について少し混乱しています。