spring-projects / spring-projects/spring-security
Add support for saml default signing key
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 9.6k
- Forks
- 6.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 52
Description
Expected Behavior
Would be nice in the case of where we have multiple signing keys to explicitly set which one should be used when signing the
authn request.
This is particularly useful when the Service Provider updates its signing key, a sample scenario would look like this:
- the service provider adds a new signing key along with the old one, and makes them both available in its metadata
- until the metadata is uploaded on the IdP side as well, the old one should still be used for signing requests
- the metadata is uploaded on the IdP
- switch to using the new key on the SP side, but still keep the old one for rollback purposes
- remove the old key if all is well
Context
Trying to migrate from the old saml library where we make use of ExtendedMetadata#setSigningKey to set the default signing key in cases where we have multiple service provider keys
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Spring Security's current SAML signing-key selection and compare it with the old library's ExtendedMetadata#setSigningKey behavior described in the issue. Define how an explicitly selected default key should work when multiple service-provider keys are present, and verify that key rotation and rollback scenarios use the selected key.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring
- Domain
- authentication, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100