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 .

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

    • Brain dump of issues with the current code and brainstorming some of the problem space

    • Draft material on the proposed remoting protocol and conventions for communication with the Java-based service/hub

    • Notes on the design of the new service and some of the adaptations needed to accomodate existing function

    • Walk through of many of the various settings and their future

    • “Shower thoughts” on some of the design problems so I don’t lose track of them.

    • Notes about work in progress pending moving to Jira for work tracking.

    • Draft docs on the “API” for agents as it’s developed.

  • 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 will be done on a branch for now. I suspect we may start over to produce the new agents by cloning the old repo.