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 https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/1203471357.
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
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/4075978758
Enumerating anything we expect to remove in the new version as compared to older versions
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/2981527576
Notes on the design of the new service and some of the adaptations needed to accomodate existing function
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/2868281349
Draft material on the proposed remoting protocol and conventions for communication with the Java-based service/hub
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/3677028369
Draft docs on the “API” for agents as it’s developed.
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/4100259844
Summary of new configuration as it develops.
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/3638099989
Notes about work in progress pending moving to Jira for work tracking.
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/2110391683
Brain dump of issues with the current code and brainstorming some of the problem space
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/3588030465
“Shower thoughts” on some of the design problems so I don’t lose track of them.
https://shibboleth.atlassian.net/wiki/spaces/DEV/pages/4512841729
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.