Skip to content

Unsigned SAML logout message validation#3945

Merged
duanemay merged 2 commits into
developfrom
saml_unsigned_logout_validation
Jun 12, 2026
Merged

Unsigned SAML logout message validation#3945
duanemay merged 2 commits into
developfrom
saml_unsigned_logout_validation

Conversation

@duanemay

Copy link
Copy Markdown
Member

Introduce SamlUnsignedMessageValidator for unsigned SAML logout message validation.

Decodes and validates unsigned SAML requests and responses while ensuring issuer, destination, and status are checked correctly.

Copilot AI review requested due to automatic review settings June 10, 2026 22:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a fallback validator to handle unsigned SAML Single Logout messages when Spring Security’s standard logout validators can’t be invoked (due to missing redirect signature parameters), while still validating key non-signature fields (issuer/destination/status).

Changes:

  • Introduces SamlUnsignedMessageValidator to decode/parse unsigned logout requests/responses and validate issuer/destination (and status for responses).
  • Updates SamlLogoutRequestValidator / SamlLogoutResponseValidator to bypass the Spring delegate only when signature parameters are absent.
  • Updates/extends SAML-related tests and bumps the Spring Boot version in the Gradle version catalog.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
uaa/src/test/java/org/cloudfoundry/identity/uaa/mock/saml/SamlAuthenticationMockMvcTests.java Refactors POST-form SAMLRequest extraction into a helper.
server/src/test/java/org/cloudfoundry/identity/uaa/authentication/SamlLogoutResponseValidatorTest.java Adds/updates tests for unsigned logout response handling and delegate behavior.
server/src/test/java/org/cloudfoundry/identity/uaa/authentication/SamlLogoutRequestValidatorTest.java Adds/updates tests for unsigned logout request handling and delegate behavior.
server/src/main/java/org/cloudfoundry/identity/uaa/authentication/SamlUnsignedMessageValidator.java New unsigned-message validator for logout request/response non-signature checks.
server/src/main/java/org/cloudfoundry/identity/uaa/authentication/SamlLogoutResponseValidator.java Adds bypass path for unsigned messages instead of calling delegate validator.
server/src/main/java/org/cloudfoundry/identity/uaa/authentication/SamlLogoutRequestValidator.java Adds bypass path for unsigned messages instead of calling delegate validator.
gradle/libs.versions.toml Updates the Spring Boot version reference.

Introduce `SamlUnsignedMessageValidator` for unsigned SAML logout message validation.

Decodes and validates unsigned SAML requests and responses while ensuring issuer, destination, and status are checked correctly.
@duanemay duanemay force-pushed the saml_unsigned_logout_validation branch from e73e0d9 to 7384d52 Compare June 11, 2026 21:30
@github-project-automation github-project-automation Bot moved this from Inbox to Pending Merge | Prioritized in Foundational Infrastructure Working Group Jun 12, 2026
@duanemay duanemay merged commit 7d34e96 into develop Jun 12, 2026
25 checks passed
@duanemay duanemay deleted the saml_unsigned_logout_validation branch June 12, 2026 15:19
@github-project-automation github-project-automation Bot moved this from Pending Merge | Prioritized to Done in Foundational Infrastructure Working Group Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants