...
- 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.
- Switch to the '9.3' branch of java-idp-jetty-base.
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
- The version of Jetty should match the
Add testbed.xml to idp-jetty-base/src/main/resources/jetty-base/webapps/ :
Code Block language xml title idp-jetty-base webapps/testbed.xml collapse true <?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>
Adjust paths in idp-jetty-base/src/main/resources/jetty-base/start.d/idp.ini :
Code Block language text title idp-jetty-base start.d/idp.ini collapse true 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
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}
- Program arguments :
- Run Main.java from java-idp-testbed as a Java Application (there's an Eclipse launcher file included, but it may need customization).
- Access https://localhost:8443/index.html with a browser on the same machine.
Properties
Note that the Jetty WebAppProvider configured in idp-jetty-base's jetty-deploy.xml reads properties from idp-jetty-base's start.d/idp.ini, hence properties used in a deployment descriptor XML file are not overridable via command line arguments or via other start.d/*.ini files.
Logging
Jetty will log to ${workspace_loc:idp-jetty-base}/src/main/resources/jetty-base/logs
...