[Koha-devel] Hi from Oslo, and C4::Auth

Francesco Rivetti oha at oha.it
Mon Mar 6 13:16:57 CET 2017


Hi,

I believe most of you met me on IRC as "oha", for the others I'm a 
software developer working at Deichman library here in Oslo: Nice to 
meet you all!

In the last week, I had a look at C4::Auth, and how the whole 
authentication, authorization and session management works.

I came up with a little prototype which replace most of C4::Auth, CGI 
and Session with something I believe simpler and easier to extend.

right now, it doesn't support anything but simple authentication. But 
most of the work done to integrate with CAS or Shib should be easily 
refactored in (I don't have a test environment for that, and I know too 
little to help much)

To simplify the transition, I'm developing it without changing anything 
on the common koha code. IOW if you run it via apache it will behave 
like it was in the past, but if you are in plack and want to check it 
out, you just have to enable the new Koha::Middleware::Session and the 
new system will just "magically" replace the old one.

Hopefully the transition won't be long and we can then refactor the rest 
of the code and drop the magic-ness.

the code is now divided in 2 parts:

there is an abstract Koha::Session with implementations for memcache, 
mysql and memory only (the last one is not really useful when forking)

there is also a Koha::Auth which support modules for different auth 
systems, right now only simple authentication is supported.

Koha::Auth also provide templating (this should be refactored again 
later, probably, but... baby steps for now) and it works more like an 
Auth Environment for every users.

on my test box it seems to be working fine, but I'm positive I have 
missed few bits here and there.

I will definitely need some feedback and help to finish the design for 
different auth modules, so if you are currently using one and you are 
willing to help, please let me know.

more in general, would be nice to know what do you think about it, you 
can find a WIP branch here:

https://github.com/digibib/Koha/tree/auth_session_refactor

TIA

Francesco


More information about the Koha-devel mailing list