The Shibboleth IdP V4 software will leave support on September 1, 2024.

How to Run the Testbed in Eclipse with Jetty 9.3

Jetty 9.3 no longer works with IdPV4.  



To run the testbed via Eclipse :

  1. Checkout the java-idp-testbed, java-identity-provider, and java-idp-jetty-base projects as peers in the same directory and import them into Eclipse. You can optionally do the same for the rest of the stack (java-opensaml, etc.) if you wish.

  2. Switch to the '9.3' branch of java-idp-jetty-base.

  3. Install Jetty (download and unpack jetty-distribution)

    • The version of Jetty should match the jetty.version property in the testbed POM (java-idp-testbed/pom.xml)

    • The Jetty installation directory should be set as the jetty.home system property in the Eclipse Launcher for the testbed's Main.java, see below

  4. Add testbed.xml to idp-jetty-base/src/main/resources/jetty-base/webapps/ :

    idp-jetty-base webapps/testbed.xml

    <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> <Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="war">../../../../../java-idp-testbed/src/main/webapp/</Set> <Set name="contextPath">/</Set> <Set name="extractWAR">false</Set> <Set name="copyWebDir">false</Set> <Set name="copyWebInf">true</Set> </Configure>
  5. Adjust paths in idp-jetty-base/src/main/resources/jetty-base/start.d/idp.ini :

    idp-jetty-base start.d/idp.ini

    jetty.war.path = ../../../../../java-identity-provider/idp-war/src/main/webapp jetty.backchannel.keystore.path=../../../../../java-identity-provider/idp-conf/src/test/resources/credentials/idp-backchannel.p12 jetty.browser.keystore.path=../../../../../java-identity-provider/idp-conf/src/test/resources/credentials/idp-userfacing.p12
  6. Configure the Eclipse Launcher for the testbed's Main.java :

    • Program arguments : --lib=${workspace_loc:idp-conf/src/test/resources} --lib=${workspace_loc:idp-conf/src/main/resources}

    • VM arguments : -Djetty.home=<path to jetty-distribution> -Didp.home=classpath: -Didp.webflows=classpath*:/flows -Djava.io.tmpdir=tmp

    • working directory : ${workspace_loc:idp-jetty-base/src/main/resources/jetty-base}

  7. Run Main.java from java-idp-testbed as a Java Application (there's an Eclipse launcher file included, but it may need customization).

  8. Access https://localhost:8443/index.html with a browser on the same machine.