Apache-based IP User Authentication for the IdP

Libraries and kiosks at institutions often need to provide some degree of access to resources to anyone who is using that machine. To enable this with Shibboleth, this means some identity and attributes need to be associated with the user based solely on the user's presence at that computer. The mod_auth_location Apache module, developed by Jim Fox at the University of Washington, provides authentication where users accessing resources from a configured IP range(s) will not be prompted to login while users outside of the IP range(s) will be.

The authentication is performed on a providerId basis, allowing users within that IP address range to access some materials as the kiosk user and optionally access other services as themselves. Please beware that many applications are known to use implicit authorization (authorizing a user just because they're authenticated). Any such applications behind the providerId will be accessible to the guest user. Properly performing authorization checks will address this issue.

  1. Ensure you have a working IdP connected to your normal authentication system.
  2. Compile and install mod_auth_location :
  3. Within the httpd.conf <Location> block protecting your IdP SSO endpoint, add the following directives:
  4. Configure the IdP to release the attributes appropriate for this service/user combination.
  5. Restart Apache.

Additional documentation on the mod_auth_location directives may be found on Jim Fox's documentation page.