powered by Jive Software

Openfire external auth using joins and bcrypt? (XenForo)

This is a bit of a two part question. I am trying to configure Openfire to connect to my XenForo forum database. I have two questions, the second I could troubleshoot myself, but not until I resolve the first so I’m going to ask both since I’m already here.

XenForo recently moved to bcrypt for their password storage. According to the docs this isn’t a native option for Openfire JDBC external auth. However in the source comments it appears that Openfire uses bcrypt for password storage natively. Is there an easy way to get Openfire to speak bcrypt?

XenForo stores passwords in a seperate table from usernames connected via a userid field. I’m assuming since it appears Openfire external auth config just uses a MySQL query that I could accomplish this using joins. Am I correct in this assumption? I am familiar with basic administration of MySQL databases but I’m far from a wizard with the query syntax. Something like this is what I’ve put together from the MySQL docs and thumbing through my database tables:

SELECT data FROM xf_user_authenticate FULL OUTER JOIN xf_user ON xf_user_authenticate.user_id = xf_user.user_id WHERE username=?

Would this query return too much data? Usernames are stored in xf_user.username and passwords are stored in xf_user_authenticate.data stored in binary.

Any help would be appreciated.