Une extension XMPP en cours de standardisation permet de gérer les permissions d’accès : l’extension Privacy. Le terme Privacy fait beaucoup penser à la protection des données personnelles, or en réalité avec cette extension, on gère simplement les permissions pour me contacter ou connaître ma présence.
L’idée général est simple :
- On définie des règles dans un PrivacyItem (ex : j’autorise Jacques à m’envoyer des messages, mais pas Pierre)
- On créé un PrivacyList qui contient autant de PrivacyItem que souhaité
- On ajoute ce ou ces listes à notre PrivacyListManager et on active la liste à utiliser
Voici ce que cela donne avec la librairie Smack :
// Create PrivacyItems List<PrivacyItem> privacyItems = new ArrayList<PrivacyItem>(); PrivacyItem item = new PrivacyItem(...); // On verra ça plus bas privacyItems.add(item); // Add it PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(xmppManager.connection); privacyManager.createPrivacyList("blockedPeople", privacyItems); privacyManager.setDefaultListName("blockedPeople");
Regardons plus en détails ce qu’il est possible de faire avec cette extension.