OpenSSO Single Sign-on Extension for MediaWiki

1 minute read

Following the recent trio of OpenSSO Extensions targeting PHP CMS applications (see my previous entries covering the extensions for Drupal, WordPress and Joomla), I decided to look at MediaWiki, the PHP application powering Wikipedia and many other wikis across the web.

In common with the CMS apps, MediaWiki has a very pluggable architecture, making implementation of a single sign-on extension very straightforward, and I was able to get an initial implementation done in a few hours. The user interface is very like the WordPress plugin: just click on the regular ‘log in’ link to be sent to OpenSSO to authenticate; on returning to MediaWiki, the extension validates the OpenSSO cookie and uses it to retrieve the username from OpenSSO, setting up the MediaWiki session.

There is a README and source code - also available via CVS, and I’ve added the new provider plugin to the list on the OpenSSO Extensions page. As always, note that none of these extensions are supported by Sun, and all should be considered ‘proof of concept’ quality - they likely need a bit more polish (and lots more testing!) before being deployed into production.

I think that about wraps up the PHP extension story for the time being - we now have plugins for the four most common PHP web apps. Do leave a comment if you think there is another we should cover.

Updated:

Comments

Ryan Lane

I'm the maintainer of the LDAP plugin for MediaWiki, and was planning on writing an OpenSSO plugin as well. Looks like you beat me to it. Do you mind if I clean this up, stick it in MediaWiki's SVN, and maintain it?

Pat Patterson

Sure - the only gotcha may be that it's licensed under CDDL. If that works for you/MediaWiki, then go for it, otherwise I'll have to jump through the hoops to release it under a different license.

Let me know either way. There's a link to email me on the sidebar to the right of this comment --->

Leave a Comment

Your email address will not be published. Required fields are marked *

Loading...