bbPress Automatic Login

I need to develop a Wordpress site that will use an external user database. I've done this before by creating a custom login/registration page and using standard PHP sessions. The only problem now is that I also need to integrate with bbPress. I need to be able to do 2 things:

When a user logs in via my custom login page, that user should then also be authenticated to use the bbPress forums.

When an active, valid PHP session exists, but a bbPress session does not (for example, if the bbPress session expires before the PHP session), I need the bbPress session to be created.

Can anyone help me with this, point me in the right direction, or give me some kind of starting point?

Much appreciated!
LVL 21
Julian MatzJoint ChairpersonAsked:
Who is Participating?
 
Ray PaseurConnect With a Mentor Commented:
This is not really an "answer" but it goes in the direction that other sites are using.  Consider using OAuth.  I recently joined StackExchange, and it looks like that is what they are using.  It plays well with Gravatar and similar sites, so it might work for your needs.
0
 
Jason C. LevineConnect With a Mentor No oneCommented:
There is also a (largely abandoned but still functional) WordPress plugin that allows it to use an external database for authentication. This is superior to using the standard PHP sessions because you would get the benefit of passing the user over to bbPress with only minimal coding gymnastics.

http://wordpress.org/extend/plugins/external-database-authentication/

OAuth is a possibility but you would be having to write a bridge from WordPress to bbPress using those credentials.  Same amount of work, I think.
0
 
Julian MatzJoint ChairpersonAuthor Commented:
Thanks! I still need to research OAuth a bit more, but it looks like some of the following WordPress functions could come in very handy:

wp_create_user( $username, $password, $email )
wp_insert_user( $userdata )
wp_update_user( $userdata )
wp_signon( $credentials, $secure_cookie )
wp_set_auth_cookie( $user_id, $remember, $secure )
0
All Courses

From novice to tech pro — start learning today.