Skip to content

dependency: OpenSAML 5.1.6 upgrade#3840

Open
strehle wants to merge 11 commits intodevelopfrom
opensaml5-1-6-update
Open

dependency: OpenSAML 5.1.6 upgrade#3840
strehle wants to merge 11 commits intodevelopfrom
opensaml5-1-6-update

Conversation

@strehle
Copy link
Copy Markdown
Member

@strehle strehle commented Apr 14, 2026

Spring Security 6.5.x uses versions

org-opensaml4 = "4.3.2"
org-opensaml5 = "5.1.2"

Latest opensaml5 would be 5.2.1, but this version pulls directly classes from non fips package and therefore not working - right now. - need to check / fix later.

Opesaml5 5.1.x we could proceed.
Up to this version, it is running with BC FIPS libraries.

At least a version that could work together with spring security 7.x and then boot 4.x


If we are on newer Spring Boot we should refactor and remove many of the custom classes

This version is support BC fips.
Higher versions pull directly classes from non fips package.

At least a version that could work together with spring security 7.x and then boot 4.x
@strehle strehle changed the title WIP: OpenSAML 5.1.6 upgrade feat: OpenSAML 5.1.6 upgrade Apr 18, 2026
@strehle strehle requested a review from Copilot April 18, 2026 10:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the server’s SAML/OpenSAML integration to OpenSAML 5.1.6 (aligned with Spring Security’s OpenSAML 5 track) and updates UAA’s SAML wiring, metadata, logout, and tests to the OpenSaml5 APIs and the Shibboleth net.shibboleth.shared package relocation.

Changes:

  • Bump OpenSAML dependency version to 5.1.6 and constrain Shibboleth repo resolution to relevant groups.
  • Migrate SAML authentication, bearer grant, metadata, and logout codepaths from OpenSaml4-* to OpenSaml5-* APIs.
  • Update tests and test utilities for OpenSAML 5 / Shibboleth shared package changes.

Reviewed changes

Copilot reviewed 21 out of 22 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/UaaInResponseToHandlingResponseValidatorTest.java Updates mocks/generics to use OpenSaml5 response token types.
server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/TestCustomOpenSamlObjects.java Switches Shibboleth XML utilities to net.shibboleth.shared and aligns comments/behavior with OpenSAML 5.
server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/SamlMetadataEndpointKeyRotationTests.java Adjusts test initialization to ensure OpenSAML is set up for metadata generation under OpenSAML 5.
server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/Saml2TestUtils.java Updates SerializeSupport import to Shibboleth shared package.
server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/Saml2BearerGrantAuthenticationConverterTest.java Updates serialization import and swaps OpenSaml4 assertion tokens to OpenSaml5 equivalents.
server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/OpenSaml5AuthenticationProviderUnitTests.java Renames/retargets unit tests to OpenSaml5 provider and updates Spring Security registration builder API usage.
server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/OpenSaml5AuthenticationProviderUaaTests.java Renames UAA integration tests class and resource reference to OpenSaml5 naming.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/UaaInResponseToHandlingResponseValidator.java Rebinds the response validator wrapper to OpenSaml5 response token types.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/SamlUaaResponseAuthenticationConverter.java Updates converter to accept OpenSaml5 response token types.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/SamlMetadataEntityDescriptorCustomizer.java Migrates metadata customizer to OpenSaml5MetadataResolver and Shibboleth shared CriteriaSet.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/SamlMetadataEndpoint.java Uses OpenSaml5MetadataResolver for SAML SP metadata rendering.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/SamlConfiguration.java Updates OpenSAML initialization to OpenSAML 5 configuration APIs (PropertiesAdapter source).
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/SamlAuthenticationFilterConfig.java Swaps request/logout resolvers to OpenSaml5 and updates request matching to PathPatternRequestMatcher.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/Saml2Utils.java Routes bearer decode errors through OpenSaml5 provider exception helper.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/Saml2BearerGrantAuthenticationConverter.java Migrates parser pool import and switches all OpenSaml4 helpers/tokens to OpenSaml5.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/OpenSamlVerificationUtils.java Updates Shibboleth CriteriaSet import and OpenSaml5 wording in docs.
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/OpenSamlDecryptionUtils.java Updates OpenSaml5 wording in docs (utility retained for custom provider).
server/src/main/java/org/cloudfoundry/identity/uaa/provider/saml/OpenSaml5AuthenticationProvider.java Implements OpenSAML 5 compatibility changes (package moves, validation API changes, address-check handling).
server/src/main/java/org/cloudfoundry/identity/uaa/authentication/SamlLogoutResponseValidator.java Updates delegate to OpenSaml5LogoutResponseValidator.
server/src/main/java/org/cloudfoundry/identity/uaa/authentication/SamlLogoutRequestValidator.java Updates delegate to OpenSaml5LogoutRequestValidator.
dependencies.gradle Bumps versions.opensaml to 5.1.6.
build.gradle Adds Shibboleth releases repo content filtering and updates the OpenSAML version pin rationale.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

strehle and others added 2 commits April 18, 2026 12:42
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@strehle strehle marked this pull request as ready for review April 18, 2026 10:43
@strehle strehle requested a review from Copilot April 18, 2026 10:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 21 out of 22 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@strehle strehle added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Apr 18, 2026
@strehle strehle changed the title feat: OpenSAML 5.1.6 upgrade dependency: OpenSAML 5.1.6 upgrade Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Projects

Development

Successfully merging this pull request may close these issues.

OpenSAML 5 upgrade

2 participants