Under construction
Tomcat Plugin
This page describes how to enable Federation in Tomcat. This Tomcat instance acts as the Relying Party which means it validates the incoming SignInResponse which has been created by the Identity Provider (IDP) server.
Installation
You can either build the plugin on your own or download the package here (tbd). If you have built the plugin on your own you'll find the required libraries in plugins/tomcat/target/...zip-with-dependencies.zip
- Create sub-directory
fediz
in${catalina.home}/lib
- Update calatina.properties in ${catalina.home}/conf
add the previously created directory to the common loader:
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/fediz/*.jar
- Deploy the libraries to the directory created in (1)
Configuration
The Fediz related configuration is Container independent and described here.
The Fediz plugin requires configuring the FederationAuthenticator like any other Valve in Tomcat which is described here here.
A valve can be configured on different levels like Host or Context. The Fediz configuration file allows to configure all servlet contexts in one file or choosing one file per Servlet Context. If you choose to have one Fediz configuration file per Servlet Context then you must configure the FederationAuthenticator on the Context level otherwise on the Host level in the Tomcat configuration file server.xml
You can either configure the context in the server.xml or in META-INF/context.xml as part of your WAR file.
META-INF/context.xml
<Context> <Valve className="org.apache.cxf.fediz.tomcat.FederationAuthenticator" configFile="conf/Fediz_config.xml" /> </Context>
Host level in server.xml
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.cxf.fediz.tomcat.FederationAuthenticator" configFile="conf/Fediz_config.xml" /> </Host>
Context level in server.xml
<Context path="/fedizhelloworld" docBase="fedizhelloworld"> <Valve className="org.apache.cxf.fediz.tomcat.FederationAuthenticator" configFile="conf/Fediz_config.xml" /> </Context>
The Fediz configuration file is container independent and described here.