1

少し前に、外部ジャバーコンポーネント(XEP-0114)を構成して、任意のユーザーに代わってXMPPスタンザを送信できることを読みました。たとえば、コンポーネントを(component.localhost)にバインドしていて、「from」属性が「user@localhost」に設定されたメッセージスタンザを送信したいとします。

私はejabberdでこれを達成しようとしています。これを機能させるためにejabberdsrcをハックダウンする必要がある場合でも驚かないでください(可能な場合)。

4

3 に答える 3

5

ejabberdを使用している{service_check_from, false}場合は、サービス定義のオプションを使用して、「from」属性の検証を無効にすることができます。

ただし、XEP 0114では、JIDの「ホスト」部分がコンポーネントの名前と一致している必要があることに注意してください。

厄介な詳細については、ejabberdドキュメントの対応するセクションを参照してください。

于 2010-12-21T23:38:05.193 に答える
0

技術的には、実際にコンポーネントを作成する必要がありますが、これは簡単に実行できます。まず、ejabberdを構成して、特定のコンポーネントJIDとパスワードを使用して、コンポーネント固有の接続を受け入れるようにする必要があります。デフォルトの構成ファイルには、ゲートウェイなどのいくつかの例があります。

これが完了したら、XMPPライブラリ/クライアントをこのコンポーネントのクレデンシャルに接続します。これで準備完了です。唯一の制約は、有効なXMLを送信することです。

于 2010-11-18T11:44:44.367 に答える
0

コンポーネントは通常、 @ .domain.comではなく、*@component.domain.comからのように見えるスタンザの送信のみを許可されます。これはセキュリティ機能です。

この機能が必要な場合は、外部コンポーネントではなくサーバープラグインを作成する必要があります。

于 2010-12-19T23:57:16.637 に答える