Re: User table abstracted in future versions?
User authentication should be fully pluggable. All authentication is done by functions in bb-includes/pluggable.php which can all be overridden by a plugin.
The only thing you have to worry about is giving the $bb_current_user a few properties (such as ID) since bbPress looks at those directly in many places (it should be better abstracted).
You’ll definitely want to write some custom authentication functions that work of your current database.
Grabbing user data from a custom database may a little more tricky as you imply since bbPress might not have all the hooks you’d need for convenient JOINs and things. (You might try and see how little you really need to do.)
At the moment, the best option (off the top of my head) is probably to write a custom database class (of which $bbdb is an instantiation), to modify bbPress’ queries on the fly.
That is not ideal, I understand.
We’re certainly interested in making things easier. I’d love to hear suggestions or ideas. You should sign up on our development email list! https://lists.bbpress.org/mailman/listinfo/bbdev