Akkoma/Pleroma

How to easily integrate a XMPP server with Akkoma or Pleroma. In the following we will concentrate on Akkoma (a better Pleroma fork), but Pleroma should work more or less the same.

The easiest way to integrate an Ejabberd XMPP server with Akkoma is to use the external auth script from the official Akkoma documentation. It works by directly interacting with the Akkoma http API.

Please note that these http requests are unencrypted and should only be done on the same server or in a secure internal network.

Another easy to use option is to run a bot on your Akkoma instance that can be interacted with to register accounts via the Ejabberd API. You can find the necessary bot software here. The 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.

If you are setting up a new Akkoma or Pleroma instance, you might also consider managing the accounts via a separate LDAP database as explained in the official Akkoma documentation here. Please refer to our dedicated LDAP tutorial for the XMPP server part.

You can easily integrate Akkoma with Prosody via the auth_http_async module. Just add it to your Prosody server and configure the VirtualHost as follows:

authentication = "http_async"
http_auth_url = "http://127.0.0.1:4000/api/v1/accounts/verify_credentials"

This assumes that Akkoma and Prosody run on the same server, otherwise the 127.0.0.1 part needs to be ajusted with the actual internal IP or hostname of the Akkoma server.

Please note that these http requests are unencrypted and should only be done on the same server or in a secure internal network.