The Shibboleth V2 IdP and SP software have reached End of Life and are no longer supported. This documentation is available for historical purposes only. See the IDP v4 and SP v3 wiki spaces for current documentation on the supported versions.

IdP OpenID Installation

This plugin is no longer supported. This documentation is provided for historical purposes only.

Before Getting Started

Before attempting to get OpenID to work, make sure that you have a working Shibboleth Identity Provider. Trying to debug basic Shibboleth configuration problems as well as OpenID configuration problems at the same time will be no fun. Also, make sure you have a copy of the Shibboleth IdP Installer package.

Installing the IdP OpenID extensions consists of two steps, adding the required JAR files to the IdP installer's lib/ folder, and then modifying web.xml.

Download binary distribution

(TODO)

Build from source

Building the code from source requires Subversion, Maven, and JDK 1.5.

OpenID Library

  • Download the library. It can be found in the Shibboleth SVN Repository under "java-openid"
  • build the library by running mvn install
  • copy the file (target/openid-1.0-SNAPSHOT.jar to the IdP installer's lib/ folder
  • copy dependency jars by running mvn dependency:copy-dependencies
  • copy the file target/dependency/httpclient-4.0.jar to the IdP installer's lib/ folder

OpenID Extension:

  • Download the extension. It can be found in the Shibboleth SVN Repository under "shib-extension/java-idp-openid"
  • build the library by running mvn install
  • copy the file (target/shibboleth-idp-ext-openid-1.0-SNAPSHOT.jar) to the IdP installer's lib/ folder

Modify web.xml

In the Shibboleth installer package, modify the file src/main/webapp/WEB-INF/web.xml to include the following servlet definition inside the <web-app> element:

<!-- OpenID Provider. -->
<servlet>
    <servlet-name>OpenIDProvider</servlet-name>
    <servlet-class>edu.internet2.middleware.shibboleth.idp.OpenIDProvider</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>OpenIDProvider</servlet-name>
    <url-pattern>/openid/*</url-pattern>
</servlet-mapping>

Finally, reinstall the IdP using the install.sh or install.bat script.