Jabber / XMPP integration with other systems (authentication, password sharing)

Can I instruct the jabber / xmpp server to delegate authentication to another module? We are building an internal application using XMPP, and it would be great if we could allow users to keep their default username / password that they use in our web applications. Currently, web applications use hashing passwords, so passwords in the database are not saved in text form. It would be easy to split passwords across systems if it weren’t, but then of course storing plaintext passwords in a server-side database is a big no-no.

Ideally, we could just tell the jabber server β€œhey, just let go of your username / authentication request here” and some other process (maybe even just the xmpp bit?) That handles authentication.

We are currently using ejabberd as our server, which I believe is written in Erlang. However, we are not attached to edgabird. I know that XMPP is huge and highly extensible - but I haven't found anything about extensible server-side authentication.

I found this one on the XMPP website, but it seems to be a protocol for negotiating authentication between client and server, not the actual authentication mechanism on the server.

Any pointers on how to combine authentication schemes between the XMPP server and our other systems?


+3
source share
1 answer

ejabberd has several authentication methods. You can use LDAP, for example, if you have an LDAP server for your organization. This works for my company and provides single sign-on for our wiki, ticket system, etc.

Refer to the authentication section in the user guide .

+5
source

Source: https://habr.com/ru/post/1713771/


All Articles