From f8944fd2a905cf486bcbd16cdbfb128f64107414 Mon Sep 17 00:00:00 2001 From: Dimitrios Kaitantzidis Date: Mon, 7 Oct 2024 19:12:56 +0300 Subject: [PATCH] WIP: login process works properly --- .../SPDF/config/security/SecurityConfiguration.java | 3 +-- .../saml/ConvertResponseToAuthentication.java | 13 +++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java b/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java index 33334ad9d..f1b6ef12e 100644 --- a/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java +++ b/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java @@ -204,8 +204,7 @@ public class SecurityConfiguration { .equalsIgnoreCase("normal")) { http.saml2Login( saml2 -> { - saml2.loginPage("/saml2") - .relyingPartyRegistrationRepository( + saml2.relyingPartyRegistrationRepository( relyingPartyRegistrationRepository) .successHandler( new CustomSAMLAuthenticationSuccessHandler( diff --git a/src/main/java/stirling/software/SPDF/config/security/saml/ConvertResponseToAuthentication.java b/src/main/java/stirling/software/SPDF/config/security/saml/ConvertResponseToAuthentication.java index 02bf05930..4a6deeb40 100644 --- a/src/main/java/stirling/software/SPDF/config/security/saml/ConvertResponseToAuthentication.java +++ b/src/main/java/stirling/software/SPDF/config/security/saml/ConvertResponseToAuthentication.java @@ -1,10 +1,6 @@ package stirling.software.SPDF.config.security.saml; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import org.opensaml.saml.saml2.core.Assertion; @@ -57,7 +53,12 @@ public class ConvertResponseToAuthentication return Collections.emptySet(); } - final List groups = new ArrayList<>(attributes.get(authoritiesAttributeName)); + List groups = new ArrayList<>(); + + if (attributes.get(authoritiesAttributeName) != null) { + groups = new ArrayList<>(attributes.get(authoritiesAttributeName)); + } + return groups.stream() .filter(String.class::isInstance) .map(String.class::cast)