Extension:ForumSessionProvider

This extension allows for an Elkarte Forum or Simple Machines Forum instance to be used as a session provider for MediaWiki 1.27+, allowing for single-sign on functionality.

Installation
To use, place the contents of the release .zip into your /extensions/ folder, and add:

wfLoadExtension('ForumSessionProvider');

to LocalSettings.php

If you are upgrading from an ancient MediaWiki version you will need to make sure $wgSecretKey is set.

$wgSecretKey = "someextraordinarilylongstringgoesheremediawikilikesitlongwithsomethingsomething"

If not, MediaWiki is going to try to hash a null value and have problems. New MW installations will already have this set.

You will also want to lock down editing and creating accounts normally, and set emailconfirmed and autoconfirmed for your users. For example:

$wgGroupPermissions['*']['createaccount']    = false; $wgGroupPermissions['*']['edit']             = false;

$wgGroupPermissions['user']['edit']          = true; $wgGroupPermissions['user']['autoconfirmed'] = true; $wgGroupPermissions['user']['emailconfirmed'] = true;

Configuration
$wgFSPPath Mandatory, path to the Settings.php file without the trailing /

$wgFSPPath = "../elkarte";

$wgFSPSoftware Mandatory if not running the default (Elkarte). Possible values are:


 * elk1.1
 * smf2.0
 * smf2.1

$wgFSPSoftware = "smf2.0";

Warning - I haven't tested SMF 2.1 specifically, but it should work fine. Please open an issue on Github if this isn't the case and I will look into it.

$wgFSPNameStyle Optional, defines how to handle illegal usernames. Defaults to 'smf'. Possible values are:


 * smf - Mimics previous Auth extension behavior, where characters MediaWiki can't use are swapped out with characters SMF can't use.
 * domain - Requires usernames to only use [a-zA-Z0-9 .-]. Doesn't sign people in otherwise.
 * anything else - Invalid usernames are not signed in.

$wgFSPNameStyle = "domain";

$wgFSPAdminGroups Optional array, defaults to [1]. Assigns sysop group. User group 1 (Administrators) is always added even if missing.

$wgFSPInterfaceGroups Optional array, defaults to [1]. Assigns interface-admin group. User group 1 (Administrators) is always added even if missing.

$wgFSPAllowGroups Technically optional array. Those signed into this group gain normal user rights.

$wgFSPDenyGroups Optional array. Anyone in one of the groups doesn't get signed in, unless they are part of an admin group. Supersedes AllowGroups.

$wgFSPSuperGroups Optional array. Grants the bureaucrat group. Not forced onto admins.

$wgFSPDenyGroups = [38, 42]; $wgFSPAllowGroups = [10, 14]; $wgFSPAdminGroups = [1, 2, 91]; $wgFSPInterfaceGroups = [1, 2, 97]; $wgFSPSuperGroups = [1];