[dokuwiki] CAS authentication in Dokuwiki

  • From: Marina Zelwer <marina.zelwer@xxxxxxxxxxxxxxxxxx>
  • To: DokuWiki Mailinglist <dokuwiki@xxxxxxxxxxxxx>
  • Date: Mon, 30 Mar 2009 11:23:36 +0200

Hello,

I'm new in this list and to Dokuwiki. I've modified Dokuwiki to add CAS authentication. The patch is included in this mail (first time I'm using Darcs so I hope it's OK).

I started from the informations given in this site : http://www.esup-portail.org/display/PROJDOCUWIKICAS/CASification+de+Docuwiki

I added the cas.class.php file and the CAS client librairy (version 1.0.1 http://www.ja-sig.org/wiki/display/CASC/phpCAS+installation+guide) in /inc/auth/

I tried to keep other Dokuwiki files unchanged but I couldn't because in a cassified application, when a user clicks on "Login" button, he must be sent to the cas server authentication form instead of displaying the Dokuwiki authentication form.

I tried to follow Dokuwiki philosophy so I added a new $cando index in file basic.auth.php for special login methods. In function act_auth of file inc/actions.php I check if $cando['login'] is true and call the appropriate login function in this case.

Several configuration variables are needed. Here is an exemple :

$conf['auth']['cas']['server'] = 'cas.univ-st-etienne.fr';
$conf['auth']['cas']['port'] = 443;
$conf['auth']['cas']['rootcas'] = 'esup-cas';
$conf['auth']['cas']['caslogout'] = 1; // when on, the user logs out from cas when logging out from dokuwiki $conf['auth']['cas']['handlelogoutrequest'] = 0; // NOT TESTED : for cas > v3.1 singlo sign out functionnality

I'm thinking of making an admin plugin to manage the CAS configuration (and maybe another one for LDAP).

Do you think it is suitable for integration in Dokuwiki ? If not, can you tell me what should be done for that ?

Best regards,
Marina
--
Marina Zelwer

DSI : Pôle production TICE et Services
Université Jean Monnet
2, rue Tréfilerie,
42023 Saint Etienne
Tel : 04.77.42.16.17

Other related posts: