Extension:PHPBB_Auth

From mediawiki.org
PluggableAuth Icon.svg This extension requires the PluggableAuth extension to be installed first.
MediaWiki extensions manual
OOjs UI icon advanced-invert.svg
PHPBB_Auth
Release status: stable
Implementation User identity , Database
Description Enables MediaWiki authentication using phpBB user credentials.
Author(s) Nicholas Dunnawaytalk
Latest version 4.1.0 (2022-07-15)
MediaWiki 1.35+
License GNU General Public License 2.0 or later
Download
Read Me

The PHPBB_Auth extension allows MediaWiki users to log in using phpBB user credentials and disallows the creation of new accounts in MediaWiki. The extension uses the PluggableAuth extension to work with MediaWiki 1.31 and later.

Requirements[edit]

The extension requires

  • PHP 7.3+
  • MySQL 5+
  • MediaWiki 1.31+
  • phpBB 3.2+

MediaWiki support[edit]

The latest version of this extension supports MediaWiki 1.35+ using PluggableAuth 6.1+.

If you are running MediaWiki 1.31, install PluggableAuth 5.7 and PHPBB_Auth 4.0.0.

Installation[edit]

If you need help, post an issue on GitHub.

  1. Download and install the PluggableAuth extension.
  2. Download the PHPBB_Auth extension from GitHub.
  3. Extract the archive and move the contents to extensions/Auth_phpBB.
  4. Add the code below to the bottom of LocalSettings.php.
$wgAuth_Config = [
    //=======================================================================
    // Required settings

    'PathToPHPBB'  => '../phpbb3/',        // Path from this file to your phpBB install
    'UserTB'       => 'phpbb3_users',      // Name of your phpBB user table
    'GroupsTB'     => 'phpbb3_groups',     // Name of your phpBB groups table
    'User_GroupTB' => 'phpbb3_user_group', // Name of your phpBB user_group table

    // Make MediaWiki usernames match the case of the phpBB usernames (except
    // with the first letter set to uppercase). Setting this to false causes
    // usernames to be all lowercase except for the first character.
    // NOTE: Before June 2016 this setting was always false, changing it to
    // true on an install where it previously was false will cause users with
    // uppercase characters to appear as separate users from their previous
    // all-lowercase account!
    'UseCanonicalCase' => true,
];

// load the authentication extensions
wfLoadExtension( 'PluggableAuth' );
wfLoadExtension( 'Auth_phpBB' );

Optional features[edit]

PHPBB_Auth supports several optional features as well, including connecting to phpBB tables in an external database, requiring users to be a member of a specific phpBB group to log in, customized error messages, and custom phpBB-to-MediaWiki username translation.

See the project's README for more information on how to configure these.

Known issues[edit]

Usernames rules[edit]

MediaWiki does not follow the same user naming conventions as phpBB, so there may be problem if someone uses an invalid username. Although all MediaWiki usernames are valid in phpBB, some phpBB usernames are not valid in MediaWiki. For example, MediaWiki does not allow the '[]' bracket symbols.

There are a few ways to solve this problem:

  • The suggested approach for existing phpBB installations is to create a custom phpBB user profile field where a phpBB admin can set a MediaWiki-friendly username for users with incompatible names. The Custom phpBB-to-MediaWiki username translation section of the README goes into this in depth.
  • Installing a phpBB extension to restrict MediaWiki-incompatible characters in phpBB.
  • Limit phpBB username characters to Alphanumeric only in the User registration settings of phpBB3.

Furthermore, watch out that MediaWiki doesn't allow the same phrase as password that you chose for your username. phpBB doesn't have a problem with password and username being the same phrase.

Problems with not sharing a database[edit]

Some users experience an error when phpBB and MediaWiki are in different databases, while other users have no problem doing so. It's possible that this may be related to non-English software, which is common to users reporting the error.

Release log[edit]

For release since 3.1.0, see the project's releases page on GitHub.

  • Release 3.1.0 (Mar. 22, 2016)
    • Update to MySQLi and php7
    • Update iAuthPlugin.php
    • Update Auth_phpbb.php
    • Add User type check as per Community Contributions
  • Release 3.0.3 (Jan. 1, 2008)
    • Fixed a potential SQL injection security hole.
    • Added support for multiple Wiki Groups.
  • Release 3.0.2 (Dec. 28, 2007)
    • Now works with and requires phpBB3.
    • Now works with and requires MW 1.11.x
    • Now requires PHP5.
    • Uses phpBB3 username case folding methods.
    • Uses phpass for password hashing.
    • When the user is not in the "Wiki" group the user now sees a MediaWiki error that says so.
    • When the user is not found in the phpBB user database they now see a MediaWiki error asking them to register.
    • Added a link to phpBB's register page from the login screen.
    • Plug-in now uses MediaWiki Hooks.
  • Release 2.7
    • Fixed a potential SQL injection security hole.
  • Release 2.6
    • Fixed a login bug where MW was displaying an error the first time a user logged into it.
    • Now works with MW 9.2
  • Release 2.5
    • I made a change to the MySQL connection that might fix some of the issues people have been having .
  • Release 2.4
    • Better MySQL error reporting. More solid MySQL Query calls.
  • Release 2.3
    • phpBB usernames with an apostrophe in them will now work.
  • Release 2.2
    • Fixed a bug that was printing a SQL statment when called.
  • Release 2.1
    • Fixed a bug that was not letting preferences be saved.
  • Release 2.0
    • Works with MediaWiki 1.5.x
    • Fixed the dup name issues. The 1.5 release of MediaWiki added a new function to check for the correct casing of a name before adding it to the wiki database.
    • I test user names with a space in them and they seem to work fine too.
    • Added support for phpBB and the wiki being on two different servers/databases.
    • With the new release of MediaWiki 1.5, I was able to disable some template stuff.
  • Release 1.9
    • Now auto detects MySQL version and uses the correct query.
    • Ver 1.9 will work on both MySQL 4.0.x and 4.1.x
  • Release 1.7
    • Added the code to allow the admin to disable the phpBB wiki group requirement.
  • Release 1.5
    • MediaWiki forces all usernames into a first letter uppercase the rest lower case. (gotroot becomes Gotroot) This is ok until you have a user who has an uppercase letter in the middle of their name. (RetroFit becomes Retrofit) This can cause a problem when trying to Auth with the phpBB user table. I do not have a fix for this. (FIXED)