Vous disposez normalement d'un serveur XMPP (jabber) cassifié. Nous allons maintenant nous en servir et cassifier jappix (client web XMPP).
Pour se faire nous allons comme pour roundcube utiliser la librairie phpCAS modifiée et changer un peu le code de jappix. Dans le but d'obtenir le scénario suivant :
Utilisateur connecté sur cas.mdl29.net :
jappix.mdl29.net → cas.mdl29.net (service=https://jappix.mdl29.net/) → https://jappix.mdl29.net/?ticket=… Procédure d'obtention du PGT et d'un ST pour le service jabber → Utilisateur connecté sur jappix
Téléchargez l'archive suivante : jappix_cas.tar.gz L’arborescence de l'archive est la suivante :
Copiez le contenu de du dossier jappix de l'archive dans votre dossier racine de jappix.
Vous devez ensuite adapter le patch php/desktop.php.patch à votre CAS c'est à dire modifier la ligne suivante : <PHP> $cas=CAS_getCredentials(“votre.cas.net”, 443, “/cas/si_pas_à_la_racine”, “https://jappix.votredomain.net”); </PHP>
Vous n'avez plus qu'a appliquer le patch :
patch < desktop.php.patch
Allez ensuite sur jappix pour vérifier si tout fonctionne ……
Dans une discussion entamée avec les développeurs de diaspora nous avons élaboré un autre scénario de connexion plus sécurisé.
L'idée est simple, pré-connecter l'utilisateur coté serveur au serveur XMPP en php/ruby aussi appelé pre-binding. Puis de transmettre les variables (JID …) de la session XMPP initialisée au client, pour diaspora mini-jappix.
Pour retrouver cette discussion en anglais : https://github.com/diaspora/diaspora/pull/1750
Rédigé par Benjamin Bernard benvii@mdl29.net