From 868342b3a91709afacde3e03c53a4d79ed612851 Mon Sep 17 00:00:00 2001 From: Josh Cummings <3627351+jzheaux@users.noreply.github.com> Date: Mon, 28 Apr 2025 11:25:31 -0600 Subject: [PATCH] Add OpenSAML 5 Test Issue gh-17008 --- .../OpenSaml5AuthenticationProviderTests.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/saml2/saml2-service-provider/src/opensaml5Test/java/org/springframework/security/saml2/provider/service/authentication/OpenSaml5AuthenticationProviderTests.java b/saml2/saml2-service-provider/src/opensaml5Test/java/org/springframework/security/saml2/provider/service/authentication/OpenSaml5AuthenticationProviderTests.java index 284c7a90c3..07e4ad90e4 100644 --- a/saml2/saml2-service-provider/src/opensaml5Test/java/org/springframework/security/saml2/provider/service/authentication/OpenSaml5AuthenticationProviderTests.java +++ b/saml2/saml2-service-provider/src/opensaml5Test/java/org/springframework/security/saml2/provider/service/authentication/OpenSaml5AuthenticationProviderTests.java @@ -889,6 +889,15 @@ public class OpenSaml5AuthenticationProviderTests { provider.authenticate(token); } + // gh-16989 + @Test + public void authenticateWhenNullIssuerThenNoNullPointer() { + OpenSaml5AuthenticationProvider provider = new OpenSaml5AuthenticationProvider(); + Response response = TestOpenSamlObjects.signedResponseWithOneAssertion((r) -> r.setIssuer(null)); + Saml2AuthenticationToken token = token(response, verifying(registration())); + assertThatExceptionOfType(Saml2AuthenticationException.class).isThrownBy(() -> provider.authenticate(token)); + } + private T build(QName qName) { return (T) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(qName).buildObject(qName); }