Skip to content

An example script for setting up External Script Authentication to query an LDAP server and the Alma User API.

Notifications You must be signed in to change notification settings

lpmagnuson/EZProxy-Alma-Authentication

Repository files navigation

EZProxy External Script Authentication with Alma API and LDAP

This repository contains an example script for setting up External Script Authentication to query an LDAP server and the Alma User API.

The intended use case is if you need to use an LDAP server for authentication (username/password) but also want to check Alma user records for user group and/or expiration. This script assumes you want only active Alma users to be able to login to EZProxy.

EZProxy user.txt Configuration

These scripts assume your EZproxy user.txt file is configured to direct users attempting to authenticate to a script on another server which will use an EZProxy "ticket" to authenticate the user, e.g.:

::cgi=https://someschool.edu/ezalma.php?url=^U
::Ticket
AcceptGroups Default+Faculty
TimeValid 10
MD5 topsecretvalue
Expired; Deny expired.html
/Ticket

##Installation

Clone repository onto a web server that supports PHP. Include ezticket.php and functions.php in the same directory as ezalma.php. You don't need the sample_response.txt file, that's just there to show you what the response from the Alma API looks like.

##Configuration

Copy and rename config.sample.php to config.php and fill in required values.
Customize HTML in ezalma.php for desired look and feel of login form.

##Deploy

Set up EZProxy's user.txt file with the above configuration, replacing https://someschool.edu/ezalma.php with the location of your script. Replace MD5 'topsecretvalue' with the secret set in config.php. Restart EZProxy.

About

An example script for setting up External Script Authentication to query an LDAP server and the Alma User API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages