Konfigurieren Jabber externe Komponente Strophe im Namen eines Benutzers zu senden [geschlossen]

StackOverflow https://stackoverflow.com/questions/4213618

  •  26-09-2019
  •  | 
  •  

Frage

Ich habe irgendwo gelesen, eine Weile her, dass eine externe Jabber-Komponenten konfigurieren können (XEP-0114) XMPP Strophe im Namen zu senden an alle Benutzer. Zum Beispiel sagen, dass ich eine Komponente binden (component.localhost) haben, und ich will es eine Nachricht Strophe schicken mit „von“ Attribut auf „user @ localhost“.

Ich versuche, dies mit ejabberd zu erreichen. Wird nicht überrascht sein, wenn ich ejabberd src abhacken muss diese Funktion zu erhalten (wenn überhaupt möglich).

War es hilfreich?

Lösung

Wenn Sie ejabberd verwenden, können Sie die {service_check_from, false} Option in Ihrer Service-Definition verwenden, um die Überprüfung auf dem „von“ Attribute zu deaktivieren.

Beachten Sie aber, dass XEP 0114 erfordert, dass der "host" Teil der JIDs das Match Name der Komponente.

Sehen Sie den entsprechenden Abschnitt von ejabberd Dokumentation für alle die blutigen Details.

Andere Tipps

Technisch gesehen muss man eigentlich die Komponente schreiben, aber dies leicht getan werden kann. Sie müssen sich confugre ejabberd, so dass es Verbindungen zu einem bestimmten für Ihre Komponente übernimmt, mit einem gegebenen componet JID und einem Passwort. Die Standardkonfigurationsdatei hat mehrere Beispiele, für Gateways zum Beispiel.

Sobald dies geschehen ist, schließen Sie eine XMPP-Bibliothek / Client mit dieser Komponente Berechtigungsnachweis und Sie sollten gut zu gehen! Die einzige Einschränkung ist, dass Sie gültigen XML senden.

Ihre Komponente wird in der Regel nur dann erlaubt, Strophen zu senden erscheinen von *@component.domain.com zu sein, anstatt @ .domain.com. Dies ist ein Sicherheitsmerkmal.

Wenn Sie diese Funktion möchten, können Sie einen Server-Plugin, anstatt eine externe Komponente schreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top