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.