aboutsummaryrefslogtreecommitdiffstats
path: root/maintenance/archives/patch-external_user.sql
diff options
context:
space:
mode:
authorAryeh Gregor <simetrical@users.mediawiki.org>2009-07-19 22:02:00 +0000
committerAryeh Gregor <simetrical@users.mediawiki.org>2009-07-19 22:02:00 +0000
commit1d1ecfa10f201ba5b4ff6fdb2611579c8144cccc (patch)
tree87d7190f14014d69a83711a1098a00d34f56038c /maintenance/archives/patch-external_user.sql
parent6227c599ab2c28a047a599c763274e8186660b7b (diff)
downloadmediawikicore-1d1ecfa10f201ba5b4ff6fdb2611579c8144cccc.tar.gz
mediawikicore-1d1ecfa10f201ba5b4ff6fdb2611579c8144cccc.zip
Add experimental new auth framework, ExternalAuth
This should not affect any existing behavior. (Except that it reorders some error conditions in attemptAutoCreate(), but probably no one cares about that.) It adds a new database table, but it will be unused unless you enable external authentication. An outline of the rationale for this system, and the design planning, is at <http://www.mediawiki.org/wiki/ExternalAuth>. Essentially, AuthPlugin puts too much of a burden on plugin authors, requiring them to write a lot of policy logic instead of just handling the actual interface to the external user database. This system uses a standard framework to decide policy questions, and auth plugins only need to provide some low-level, clearly-specified data. There are lots of features still missing, marked in the code, but basic functionality is present. The commit includes initial support for one type of external authentication, the forum software vBulletin (which I happen to know well, and want to integrate with my MediaWiki). I'm encouraging the inclusion of ExternalAuth plugins in core because in this framework, the amount of code required to add an additional backend is quite small -- well under 100 lines in this case. I'd hope to see a lot more of these, and it seems unreasonable to make an armada of tiny extensions instead of letting them live happily in their own directory out of everyone's way.
Notes
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/53497
Diffstat (limited to 'maintenance/archives/patch-external_user.sql')
-rw-r--r--maintenance/archives/patch-external_user.sql9
1 files changed, 9 insertions, 0 deletions
diff --git a/maintenance/archives/patch-external_user.sql b/maintenance/archives/patch-external_user.sql
new file mode 100644
index 000000000000..db8ffc6ca59f
--- /dev/null
+++ b/maintenance/archives/patch-external_user.sql
@@ -0,0 +1,9 @@
+CREATE TABLE /*_*/external_user (
+ -- Foreign key to user_id
+ eu_wiki_id int unsigned NOT NULL PRIMARY KEY,
+
+ -- Some opaque identifier provided by the external database
+ eu_external_id varchar(255) binary NOT NULL
+) /*$wgDBTableOptions*/;
+
+CREATE UNIQUE INDEX /*i*/eu_external_id ON /*_*/external_user (eu_external_id);