Authenticating clients using an external database instead of creating accounts

Hi,

The normal process which I have followed to connect a client to ejabberd is:
1. Create an account on the server using ejabberdctl register command which takes as input both user name and password
2. Client logs in to the server by providing the credentials used in the ejabberdctl register command

However, if I already have an external database of users, I may want to use those credentials to login rather than creating an account on ejabberd (using the ejabberdctl register command).
So basically, the client would try to connect using the credentials present in the external database and if authenticated, it will be able to login to the server.

My question is whether this kind of mechanism is possible using ejabberd? If yes the how?

Regards,
Archit

If your external database

If your external database uses exactly the format defined for table "users" in mysql.sql, or pgsql.sql, then you can use ejabberd_auth_sql.

If your database is not one of the uspported, or the account table has its own format, then you can write an external authentication script, and configure ejabberd to use it (see extauth example script).

Syndicate content