2017-03-14 1 views
1

私はejabberd(16.01)サーバーをUbuntu 16.04上で実行しています。別のNodeJsアプリケーションを別のサーバーで実行しています。 NodeJsアプリケーションを通じて、https://docs.ejabberd.im/developer/ejabberd-api/で与えられたReST APIを使用して、ユーザーを追加したり、ロスターなどを追加したいと考えています。ノードjsアプリケーションからejabberd ReST APIにアクセス

この練習では、https://docs.ejabberd.im/developer/ejabberd-api/simple-configuration/という簡単な設定を行っています。構成はスニペットの下に追加するには、こう述べています。

commands_admin_access: 
    - allow: 
     - user: "[email protected]" 
    commands: 
    - add_commands: [user, admin, open] 
    # Tokens are valid for a year as default: 
    auth_expire: 31536000 
    oauth_access: all 

ここでの問題は、ドキュメントは、これらの設定を追加する必要があるヘッダー何の下に指定していない、のですか?この設定の正確な位置は完全には見当たりません!

ファイルの最後に上記の設定を追加しました。ただし、ejabberdサーバーはこれらのオプションを認識しません。ログは言う:以下

validate_opts:792 unknown option 'auth_expire' will be likely ignored 
validate_opts:792 unknown option 'api_permissions' will be likely ignored 
validate_opts:784 ignoring option 'commands_admin_access' with invalid value: [[{allow,[[{user,<<"[email protected]">>}]]}]] 

は、私がejabberd.ymlファイルに追加した余分な構成です:

commands_admin_access: 
    - allow: 
    - user: "[email protected]" 
commands: 
    - add_commands: 
    - status 
    - registered_users 
    - register 
    - unregister 
# Tokens are valid for a year as default: 
auth_expire: 31536000 
oauth_access: all 

api_permissions: 
    "API used from localhost allows all calls": 
    - who: 
     - ip: "168.63.209.95" 
    - what: 
     - "*" 
     - "!stop" 
     - "!start" 

私はドキュメントが非常に明確ではないと思います。誰かが私がここで間違っていることを提案することはできますか?あるいは、私がやろうとしていることを達成するための代替手段がありますか?

答えて

1

非常に古いバージョンのEjabberdを使用しています。最新は17.04で、16.01からのAPI許可フレームワークの変更点がたくさんあります。

まず、あなたが見ている警告の理由を明確にしましょう。

  1. 'auth_expire' - 実際のパラメータ名は 'oauth_expire'です。ドキュメントに間違いがあるように見えます。コードについてはthisリンクを参照してください。
  2. 'api_permission' - このパラメータは16.12バージョンで導入されました。 thisリンクを参照してください。
  3. 'commands_admin_access' - 16.01バージョンでは、このパラメータは入力としてアトムのみを取ります。 ACLサポートは、それ以降のリリースで導入されました。したがって、ACLルールを作成し、thisのようなルール名を指定することができます。

このパラメータを追加する場所の質問に答えてください - yaml形式のガイドラインに従う限り、このパラメータを追加できます。これは独立した構成なので、他の構成の下にあってはなりません。あなたは最後にそれを置くことができ、問題なく動作するはずです。

+0

私はそれを打ちましょう!ありがとう、@ダルシャン:) –

関連する問題