composant externe Configurer Jabber pour envoyer strophe au nom de tout utilisateur [fermé]

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

  •  26-09-2019
  •  | 
  •  

Question

J'ai lu quelque part il y a un certain temps que l'on peut configurer les composants externes Jabber (XEP-0114) pour envoyer strophe XMPP au nom de l'utilisateur sur tout. Par exemple dire que j'ai une liaison composant (component.localhost) et je veux envoyer une strophe de message avec « de » attribut défini à « user @ localhost ».

Je suis en train de réaliser cela avec ejabberd. Ne soyez pas surpris si je vais devoir pirater vers le bas ejabberd src pour obtenir ce travail (si possible).

Était-ce utile?

La solution

Si vous utilisez ejabberd, vous pouvez utiliser l'option {service_check_from, false} dans la définition de service pour désactiver la vérification de l'attribut « de ».

Gardez à l'esprit, cependant, que XEP 0114 exige que la partie « hôte » des JIDs correspondent à la nom du composant.

Voir la section correspondante de documentation ejabberd pour tous les détails sordides.

Autres conseils

Techniquement, vous devez écrire en fait le composant, mais cela peut se faire facilement. Vous devez d'abord confugre ejabberd pour qu'il accepte les connexions sur un spécifique pour votre composant, avec un JID de componet donné et un mot de passe. Le fichier de configuration par défaut a plusieurs exemples, pour passerelles par exemple.

Une fois cela fait, connectez-vous une bibliothèque / client XMPP avec des titres de compétence de ce composant et vous devriez être bon d'aller! La seule contrainte est que vous envoyez XML valide.

Votre composant sera généralement autorisé uniquement pour envoyer strophes semblant provenir *@component.domain.com, plutôt que @ .domaine.com. Ceci est une caractéristique de sécurité.

Si vous voulez cette fonctionnalité, vous pouvez avoir à écrire un plugin serveur plutôt que d'un composant externe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top