Yes, although it’s not a 100% integration in both directions, i.e. not MODx <--> phpBB, but rather phpBB -> MODx.
I decided only one app shall handle user-authentication (signup, login), not both. Otherwise you’re in a world of pain, with core-hacks all over the place.
You can include this in your MODx-templates as a snippet:
<?
// http://www.phpbb.com/kb/article/phpbb3-sessions-integration/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>
In your phpBB installation, include this hack in includes/functions_user.php:
(approx. at line 179)
@dl("php_curl.dll"); // only necessary on Windows
$ch = curl_init();
$modxUserData = array( 'email' => $sql_ary['user_email'],
'username' => $sql_ary['username'],
'fullname' => $sql_ary['username_clean'],
'password' => $sql_ary['user_password'],
'confirmpassword' => $sql_ary['user_password'],
'cmdwebsignup' => 'Submit'
);
$postVars = http_build_query($modxUserData);
curl_setopt($ch, CURLOPT_URL, "http://localhost/modx-0962/index.php?id=53"); // URL of websignup form
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postVars);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curlResult=curl_exec($ch);
curl_close($ch);
This will simply create a modx-user at the same time as phpbb.
I only did this as a "proof of concept" over the weekend. I used the last stable versions of both apps (0.9.6.2 + 3.0.2). For a live-site you would have to deal with functions such as "send password reminder" or "change profile information" too, i.e. mirror those changes in modx, so that both apps are up-to-date.
Of course, if you wanted to automatically create a forum user whenever someone registers via modx, it would mean a lot of additional work. But I frankly don’t see why you would use two separate user-databases. Especially if you start adding custom user-profile fields in the forum and want to replicate these inside modx.