Mastodon
Comment intégrer facilement un serveur XMPP à Mastodon.
Intégration de base de données
La manière la plus simple de lier un serveur Ejabberd à une instance Mastodon sur le même serveur est d'utiliser un script d'authentification externe qui intéragie directement avec la base de données Postgresql de Mastodon. Cette méthode ne fonctionne de manière sécurisée que sur le réseau local, mais a été bien testée sur une instance Mastodon de taille moyenne.
Bot Mastodon pour Ejabberd
Another easy to use option is to run a bot on your Mastodon instance that can be interacted with to register accounts via the Ejabberd API. You can find the necessary bot software here. This bot also has some other nice functionality to get details from Ejabberd, so it might be worth running even if another account integration method is used.
Via LDAP
Si vous installez une nouvelle instance Mastodon, vous pouvez aussi envisager de gérer les comptes utilisateurices via une base de données LDAP séparée, comme expliqué dans la documentation officielle Mastodon ici. Merci de vous référer à notre tutoriel LDAP dédié pour la partie serveur XMPP.
Prosody
L'intégration d'un serveur Prosody avec Mastodon peut aussi être faite via OAuth2. Le nouveau module mod_auth_oauth_external est nécessaire pour ça (et il nécessite un build nightly récent de Prosody).
Tout d'abord, une nouvelle application doit être enregistrée du côté
Mastodon. Ça peut être fait sur Mastodon → Settings → Development → New
application. L'URI de redirection n'importe pas. Prosody à besoin du scope
read:accounts
, rien d'autre.
Puis ces lignes doivent être ajoutées à la configuration de Prosody :
1authentication = "oauth_external"
2oauth_external_token_endpoint = "https://mastodon.example/oauth/token"
3oauth_external_validation_endpoint = "https://mastodon.example/api/v1/accounts/verify_credentials"
4oauth_external_username_field = "username"
5oauth_external_scope = "read:accounts"
6oauth_external_client_id = "Get client_id from https://mastodon.example/settings/applications"
7oauth_external_client_secret = "Get client_secret from https://mastodon.example/settings/applications"
Maintenant les utilisateurices peuvent se connecter avec ce nom :
email\40example.com@xmpp.example.org
, qui est composé de l'adresse mail
avec laquelle iel se sont enregistré sur le serveur Mastodon (avec le
@
échappé comme \40
) et le domaine du serveur XMPP derrière le
second @
. Espérons que ce nom de connexion complexe pourra être
simplifié à l’avenir.