]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_NEXT/Architecture/remoteauth.adoc
d86cba3f95932368d5661c0e778f0d406a5dafee
[working/Evergreen.git] / docs / RELEASE_NOTES_NEXT / Architecture / remoteauth.adoc
1 Configurable APIs for Patron Authentication and Retrieval
2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 Many external services need to authenticate patrons and retrieve information
4 about their accounts from Evergreen.  Most of these services support some form
5 of HTTP-based authentication, but every service has its own requirements and
6 none of them support native Evergreen authentication.  Meanwhile, libraries
7 often need to restrict access to these external services based on patron type,
8 current status, standing penalties, and so on.
9
10 To meet these needs, Evergreen now has support for separate, configurable HTTP
11 API endpoints for remote patron authentication and retrieval.  Each RemoteAuth
12 endpoint handles a different external service or authentication method.  You
13 set up the endpoints you want in your Apache config; each one uses a generic
14 mod_perl handler to manage incoming requests, and specifies a Perl module that
15 can actually talk to the external service, as well as an authentication profile
16 that determines which patrons can be authenticated at this endpoint.  Support
17 for https://tools.ietf.org/html/rfc7617["Basic" HTTP Authentication] is
18 provided as a reference implementation.