Service Provider V4 Redesign
Organizing page for material connected to the project to redesign the Service Provider software.
Why are we doing this? The original discussion is at SP4Details.
What are we doing? Rewriting the existing SP software to migrate the functions currently performed by the shibd process in C++ into Java, reusing the bulk of the code in OpenSAML and currently in the IdP, filling in gaps where necessary. Most of the current C++ code will be eliminated, and the agents for specific web servers will be stripped down as much as practical. New agents may be developed but this is not an initial goal.
When are we doing this? Work started in 2022 but has accelerated into actual development work in 2024 after Board approval of our multi-year roadmap that includes this work.
Topics
Enumerating anything we expect to remove in the new version as compared to older versions
Notes on the design of the new service and some of the adaptations needed to accomodate existing function
Draft material on the proposed remoting protocol and conventions for communication with the Java-based service/hub
Draft docs on the “API” for agents as it’s developed.
Walk through of many of the various settings and their future
Notes about work in progress pending moving to Jira for work tracking.
Brain dump of issues with the current code and brainstorming some of the problem space
“Shower thoughts” on some of the design problems so I don’t lose track of them.
Source Code
The new Java “service” that will replacing the existing dependencies is in the java-plugin-shibd.git repository with the unwieldy placeholder name of Shibboleth SP Service.
Protocol support will be added via additional plugins, starting with SAML (java-plugin-shibd-saml.git). OpenID will come later on in the cycle via a similar plugin project.
The existing cpp-sp.git repository will continue to exist and work is being done on the main branch for now.