[Koha-bugs] [Bug 7174] Authentication rewriting

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Mon May 8 19:10:12 CEST 2017


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7174

Lari Taskula <lari.taskula at jns.fi> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #41536|0                           |1
        is obsolete|                            |
  Attachment #41537|0                           |1
        is obsolete|                            |

--- Comment #24 from Lari Taskula <lari.taskula at jns.fi> ---
Created attachment 63255
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=63255&action=edit
Bug 7174 - Authentication Rewrite - Core

Depends heavily on Buugg 14540, which introduces many tests to spot regression
caused by this feature.

Introduces a new modular authentication system based on Exception signaling
and reusable authentication components/challenges.
This system is cross-framework -compatible, currently supporting Mojolicious
and CGI, but adding support for any other framework is straightforward.

Central idea is to provide a single authentication function to deal with all
types of authentication scenarios, REST API, Cookie, Password, LDAP...
Also it is important to make a system that is easy to extend and can deal with
many future authentication scenarios.

Currently only CGI password, LDAP and cookie login is tested. Legacy behaviour
is used to deal with other types of authentication.

See the attached schematic in Bugzilla for a more architectural overview.

Also fixes few bugs related to anonymous_search_history

The basic principle is:
1. We get an authentication request from any Web/GUI-framework, for ex CGI.
2. Request is normalized by extracting all necessary authentication data
   elements to a separate data structure.
3. Based on the found authentication data elements, system decides which
   authentication route to take.
4. Route implements all challenges needed to authenticate the request.
   Route returns the authenticated Koha::Borrower or an Exception if login
   failed.
5. The user environment/session is set/deleted based on the Route result.
6. a Koha::Borrower and the CGISESSID-cookie is returned to the calling
   framework in the format the framework needs.
7. Framework needs to catch possible exceptions and deal with them.
   Eg. login failed, no permission, under maintenance.
8. Authentication succeeds and session is set, or failure is reported to user.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list