Hi Paul,
I've done an integration of Openathens with Koha using the
mod_auth_mellon Apache module
https://github.com/latchset/mod_auth_mellon (rather than using the
EBSCO plugin).
The workflow I did is:
1. Checked out the master branch of mod_auth_mellon
2. Navigated into mod_auth_mellon
3. Generated the Koha SP (Service Provider) XML metadata
endpoint, cert and key file.
./mellon_create_metadata.sh <full_opac_test_site_url> <full_opac_test_site_url>/saml
4. Moved those files into a new directory
/etc/koha/sites/<instance>/saml
5. Sent the metadata XML file I'd made to EBSCO and received
their one back and put it in /etc/koha/sites/<instance>/saml
6. Edit Apache conf file ( /etc/apache2/sites-available/<instance>.conf ):
<Location />
MellonEnable "auth"
MellonUser "NameID"
MellonSPPrivateKeyFile /etc/koha/sites/<instance>/saml/<opac_test_site_url>.key
MellonSPCertFile /etc/koha/sites/<instance>/saml/<opac_test_site_url>.cert
MellonSPMetadataFile /etc/koha/sites/<instance>/saml/<opac_test_site_url>.xml
MellonIdPMetadataFile /etc/koha/sites/<instance>/saml/<client_supplied_metadata>.xml
MellonEndpointPath /saml
# Set environment variables with the values of IdP attributes
MellonSetEnv "principalname" "<IdP_UPN_attribute_name>"
MellonSetEnv "givenname" "<IdP_firstaname_attribute_name>"
MellonSetEnv "surname" "<IdP_surname_attribute_name>"
MellonSetEnv "email" "<IdP_email_attribute_name>"
# Unset and reset X_REMOTE_UPN
Header unset X_REMOTE_UPN
RequestHeader unset X_REMOTE_UPN
RequestHeader set X_REMOTE_UPN %{MELLON_principalname}e
# Unset and reset the X_REMOTE_GIVENNAME
Header unset X_REMOTE_GIVENNAME
RequestHeader unset X_REMOTE_GIVENNAME
RequestHeader set X_REMOTE_GIVENNAME %{MELLON_givenname}e
# Unset and reset the X_REMOTE_SURNAME
Header unset X_REMOTE_SURNAME
RequestHeader unset X_REMOTE_SURNAME
RequestHeader set X_REMOTE_SURNAME %{MELLON_surname}e
# Unset and reset the X_REMOTE_EMAIL
Header unset X_REMOTE_EMAIL
RequestHeader unset X_REMOTE_EMAIL
RequestHeader set X_REMOTE_EMAIL %{MELLON_email}e
</location>
Here the IdP_UPN_attribute_name is the attribute (claim)
that Openathens is sending to Koha in the SAML POST request, we're
assigning it to the Mellon environment variable "principalname"
and then putting it in the header as X_REMOTE_UPN
7. Install the following packages:
sudo apt-get install libapache2-mod-auth-mellon
sudo s2enmod expires
sudo systemctl restart apache2
sudo apachectl configtest
sudo apachectl restart
apt-cache policy libapache2-mod-auth-mellon sudo apt-get install liblasso3 sudo apachectl restart
<trusted_header_upn>X_REMOTE_UPN</trusted_header_upn> <trusted_header_givenname>X_REMOTE_GIVENNAME</trusted_header_givenname> <trusted_header_surname>X_REMOTE_SURNAME</trusted_header_surname> <trusted_header_email>X_REMOTE_EMAIL</trusted_header_email>
AssignUserID www-data <instance>-koha
instance_user="${instancename}-koha"
instance_user="www-data"
sudo chown www-data -R /var/cache/koha/<instance>
From: Paul Poulain <paul.poulain@biblibre.com>
Sent: 25 March 2020 4:57:14 AM NZDT
To: "koha-devel@lists.koha-community.org" <koha-devel@lists.koha-community.org>
Subject: [Koha-devel] Koha and Ebsco OpenAthens
Hello, does anyone have experience in setting OpenAthens for Koha. There's an Ebsco plugin (https://github.com/ebsco/openathens-koha-plugin), but it seems to be for old versions of Koha. any feedback highly appreciated ! -- Paul Poulain, Associé-gérant / co-owner BibLibre, Services en logiciels libres pour les bibliothèques BibLibre, Open Source software and services for libraries
Koha-devel mailing list Koha-devel@lists.koha-community.org https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-- Alex Buckley Koha Developer Catalyst IT - Expert Open Source Solutions DDI: +64 4 803 2378 | Mob: +64 22 429 6157 | www.catalyst.net.nz CONFIDENTIALITY NOTICE: This email is intended for the named recipients only. It may contain privileged, confidential or copyright information. If you are not the named recipient, any use, reliance upon, disclosure or copying of this email or its attachments is unauthorised. If you have received this email in error, please reply via email or call +64 4 499 2267.