[OPEN-ILS-DEV] LDAP Authentication Ideas

Victoria Bush vbush at ilstu.edu
Wed Oct 14 15:27:34 EDT 2009


I don't know how feasible this is, but in our environment the ability  
to authenticate against LDAP itself would be wonderful. I would prefer  
it if there isn't a separate password in Open-ILS, as we have a lot of  
centralized services that authenticate against LDAP and it would be so  
nice to allow Evergreen to do the same.

-Vicki

On Oct 12, 2009, at 3:56 PM, Dan Wells wrote:

> Hello all,
>
> I am in the process of implementing a basic LDAP authentication  
> layer for my library for the catalog 'My Account' features.  I  
> currently have two working proof-of-concepts and am seeking input  
> about further development of one or the other.
>
> The overall approach is common to both and is as follows.  The users  
> are exported from LDAP and batch loaded into the Open-ILS system,  
> but the password in Open-ILS is not their LDAP password, but instead  
> is a salted/hashed version of their LDAP ID.  The Open-ILS LDAP  
> authetication layer receives the username and password from a web  
> form, binds with LDAP using these as credentials to receive the LDAP  
> ID and verify the password, salts and hashes the ID and uses the  
> this ID and hash to authenticate to Open-ILS.
>
> So far I have gotten this to work using both an external and an  
> internal form.  For the external version, a separate (mock) login  
> page is created, the user submits their credentials, the script  
> behind the form performs the LDAP bind and subsequent  
> authenticate_init and authenticate_complete steps, then sets the  
> 'ses' cookie variable and redirects to the My Account page.  The  
> primary advantages of this approach are needing only to alter the  
> login/logout button behavior in the OPAC and also perhaps not  
> needing an SSL certificate for the catalog server (as the external  
> script can run from a different, already secure server).
>
> For the internal version, I created a simple OpenSRF service which  
> replaces/wraps both authenticate_init and authenticate_complete into  
> a single step (since we can simply send the password along) and  
> which is accessed by a slightly modified doLogin script.  This  
> approach allows one to use the My Account login page more or less as- 
> is, but does require a bit more customization on the server end.
>
> I am not really sure what best practices are for customizations to  
> the OPAC, but I am wondering if a standard way to override doLogin  
> needs some consideration.  While it seems I can override the  
> authentication behavior in 'config.js', since neither the 'init' nor  
> the 'complete' step actually sends the password, the current doLogin  
> has limited applicability to any completely 3rd-party authentication  
> scheme.
>
> Please let me know if you feel the overall approach is sensible or  
> if something else would be better, and also if one implementation or  
> the other would have unforeseen problems.
>
> Thank you all,
> Dan
>
> -- 
>
> *********************************************************************************
> Daniel Wells, Library Programmer Analyst dbw2 at calvin.edu
> Hekman Library at Calvin College
> 616.526.7133
>
>

--
Victoria Bush
Opscan Evaluation Manager
Center for Teaching, Learning & Technology
vbush at ilstu.edu





More information about the Open-ils-dev mailing list