I’m working on integrating Openfire with my custom project. I want to authenticate against Openfire user database, and possibly create new user accounts from my application. What is a better option: to dig for encryption algorithm Openfire uses to store passowrds, or develop my own auth provider for openfire? Please note that in the latter case I still need the ability to register new accounts from Openfire.
However, if you just want to authenticate and create new user accounts, it should be sufficient to read/write directly to your database. But be aware, that there are no “new user” (etc.) events are generated, which can confuse some of your plugins.
If you want more, e.g. create new shared groups or add users to groups, you need definitely to write a plugin that acts as interface to you application.
As @phearnot want to authenticate against Openfire user database. So he need to own AuthProvider implemenatation and creating and managing user from his database so he need to implement his own user provider sothat he can manage his own user data base
BTW, it appears that GroupProvider implementation is necessary to share groups among Openfire and my app. Is there any possibility to change Auth/User/Group provider at runtime (from a plugin, for instance), or such changes require server restart?