Showing posts with label DokuWiki. Show all posts
Showing posts with label DokuWiki. Show all posts

Wednesday, May 29, 2013

DokuWiki Shibboleth authentication plugin

The new DokuWiki version 2013-05-10 “Weatherwax” introduced new approach to modular authentication. While the older versions used authentication backends, the new version makes use of its flexible plugin system and introduces a new plugin type - the authentication plugin. Actually, it is very similar to the authentication backend, but as a plugin it provides all the benefits of the plugin system - it can be installed via DokuWiki administration, it can be configured with the configuration manager, etc.

That was an impulse for me to rewrite my Shibboleth authentication backend from scratch and implement it as a plugin. The old backend required a simple action plugin to intercept the login action and redirect the browser to the Shibboleth login handler. So it was necessary to install both the backend and the plugin. Now, when the authentication is done via plugins, only one plugin is required. The plugin system allows combination of different plugins in a single plugin bundle installed as one.

You can get the plugin from the new GitHub repository. See the README for instructions how to install it.

Links:

Friday, August 10, 2012

DokuWiki Shibboleth authentication backend updated and moved to GitHub

Few years ago I wrote a Shibboleth authentication backend for DokuWiki. So far it worked well, but recently I needed some additional features, so I made few modifications and enhancements:

  • moved the project to GitHub
  • changed the license from the restrictive GPL2 to FreeBSD
  • added an option to use the DokuWiki session instead of the Shibboleth session - the Shibboleth session is checked only upon login
  • the authentication backend and the login plugin are now in one single package
  • improved example configuration - better formatting and comments, you can edit it, put it in the conf/ directory and simply include it in your local.php file
  • refactored the code to be more PHP 5.x compliant
You can get the code from the GitHub repository.