Description
I completely refactored Fediz idp component basing on Spring WebFlow : it can be found as attached fediz-idp-swf.patch.
Basically the idea was to remove complex chain of filters implementing the idp flow, drastically reducing the base code.
Applying the patch, all filters are removed and the master logic is migrated to federation-webflow.xml.
It implies main other changes :
• web.xml : referencing new idp servlet handling web-flow and mapped to /federation relative URL,
• new idp-servlet.xml including web-flow configuration and specific idp beans configuration (which sources can be found into org.apache.cxf.fediz.service.idp.beans package),
• various new and modified jsp views invoked as SWF view or end states in flow (signinform.jsp, signinresponseform.jsp, signoutresponse.jsp, genericerror.jsp and blank.jsp)
The patch supports the following features, as currently implemented in original fediz-idp 1.1.0-SNAPSHOT release :
• Login
• Logout
• Basic authentication and Form authentication (switch from one to the other has currently to be set in federation-webflow.xml)
The patch has been successfully tested with singleWebapp project and webapp & fedizservice projects.
Note: the only change required for Relying Parties webapps is located in fediz-config.xml : the protocol issuer should no longer be
<issuer>https://localhost:9443/fedizidp/</issuer>
but
<issuer>https://localhost:9443/fedizidp/federation</issuer>