No Logout option in User Sidebar

The default User/SideBar does not contain a Logout option following setup and data migration from BlueSpice v3. Custom user Sidebars are also affected.

The User Sidebar should have a Logout option in the Personal Tools section (as per the Demo Wiki at Demo BlueSpice, but this is not present in two instances that I have deployed. Browsing to the Special:UserLogout page allows the user to logout.

System info:
view system requirements

  • OS: Rocky Linux 9
    
  • Server: Apache 2.4
    
  • PHP: PHP 8.2
    
  • Database: MariaDB 10.5
    
  • BlueSpice version: BlueSpice free 4.5.3
    
  • Browser version: MS Edge 131.0.2903.112
    

Hi!

Do you have any authentication plugin enabled? Extension:PluggableAuth, Extension:SimpleSAMLphp, Extension:OpenIDConnect, Extension:LDAPAuthentication2, Extension:Auth_remoteuser ?

Yes, PluggableAuth & LDAPAuthentication2.

Extension:PluggableAuth will remove the logout link unless you have set

$GLOBALS['wgPluggableAuth_EnableAutoLogin'] = true;

See mediawiki-extensions-PluggableAuth/includes/PluggableAuthService.php at 7.3.0 · wikimedia/mediawiki-extensions-PluggableAuth · GitHub

That variable is set to true in LocalSettings.php:

if ( $ldapConfig ) {
        wfLoadExtension( 'PluggableAuth' );
        wfLoadExtension( 'LDAPProvider' );
        wfLoadExtension( 'LDAPAuthentication2' );
        wfLoadExtension( 'LDAPAuthorization' );
        wfLoadExtension( 'LDAPUserInfo' );
        wfLoadExtension( 'LDAPGroups' );

        $LDAPProviderDomainConfigs = $ldapJsonFile;
        $GLOBALS['wgExtensionFunctions'][] = static function () {
                $GLOBALS['wgPluggableAuth_EnableAutoLogin'] = true;
                // Clear out whatever is set by BlueSpiceConfigManager
                $GLOBALS['wgPluggableAuth_Config'] = [];
                // Add Domain configuration (from $ldapJsonFile)
                $GLOBALS['wgPluggableAuth_Config']['Log In (Domain)'] = [
                        'plugin' => 'LDAPAuthentication2',
                        'data' => [
                                'domain' => 'domain.fqdn'
                        ]
                ];
        };

        if ($wikiRequestSafe) { $LDAPAuthentication2AllowLocalLogin = true; }
}

Please make sure to also set

$GLOBALS['wgPluggableAuth_EnableLocalLogin'] = true;

See also Extension:PluggableAuth - MediaWiki

That’s done it, thank you!