Last modified: 2013-09-02 11:35:44 UTC
Trying to use ExternalAuth I get this backtrace on api.php with action=login: #0 /usr/share/mediawiki/includes/db/Database.php(885): DatabaseBase->reportQueryError('ERROR: relatio...', 1, 'DELETE FROM "ex...', 'ExternalUser::l...', false) #1 /usr/share/gforge/plugins/mediawiki/www/LocalSettings.php(136): DatabaseBase->query('DELETE FROM "ex...', 'ExternalUser::l...', false) #2 /usr/share/mediawiki/includes/db/Database.php(2380): DatabaseForge->query('DELETE FROM "ex...', 'ExternalUser::l...') #3 /usr/share/mediawiki/includes/ExternalUser.php(287): DatabaseBase->replace('external_user', Array, Array, 'ExternalUser::l...') #4 /usr/share/mediawiki/includes/specials/SpecialUserlogin.php(549): ExternalUser->linkToLocal(90) #5 /usr/share/mediawiki/includes/api/ApiLogin.php(74): LoginForm->authenticateUserData() #6 /usr/share/mediawiki/includes/api/ApiMain.php(711): ApiLogin->execute() #7 /usr/share/mediawiki/includes/api/ApiMain.php(360): ApiMain->executeAction() #8 /usr/share/mediawiki/includes/api/ApiMain.php(344): ApiMain->executeActionWithErrorHandling() #9 /usr/share/mediawiki/api.php(117): ApiMain->execute() #10 {main} The database (PostgreSQL, everything else is not a database ;) indeed does not have such table. Looking through the source (fgrep -r), I see: /usr/share/mediawiki/includes/installer/MysqlUpdater.php: array( 'addTable', 'external_user', 'patch-external_user.sql' ), /usr/share/mediawiki/includes/installer/Ibm_db2Updater.php: array( 'addTable', 'external_user', 'patch-external_user.sql' ), /usr/share/mediawiki/includes/installer/SqliteUpdater.php: array( 'addTable', 'external_user', 'patch-external_user.sql' ), It appears that this table has been added at some point, but only for one database, a joke and a kiddie system – several databases (Horracle and PostgreSQL, at the very least) seem to have missed out. Could we *please* get the schemata in sync? Thank you very much.
Hm. It appears the entire table – http://www.mediawiki.org/wiki/Manual:external_user_table – is gone now: https://gerrit.wikimedia.org/r/#/c/54900/ The problem here (in 1.19) is, on the other hand, that it was never added properly. Anyway, I guess I will just not use ExternalUser mechanism, if it’s got no future.
https://www.mediawiki.org/wiki/ExternalAuth states that "A crude version of ExternalAuth was checked in as of r53497. It should be considered experimental and not suitable for production use unless you're desperate." As you found already the commit to remove functionality from the codebase, it's very likely a WONTFIX indeed.