From b46f745e1089f2b34168901658c81b826cadb87d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20LELEU?= <jerome.leleu@teamdlab.com> Date: Thu, 26 Mar 2020 17:36:50 +0100 Subject: [PATCH] some refactoring --- .../src/main/config/cas-server-application-dev.yml | 8 ++++++++ .../src/main/config/cas-server-application-recette.yml | 8 ++++++++ .../IamSurrogateRestAuthenticationService.java | 7 +++---- .../vitamui/cas/webflow/actions/DispatcherAction.java | 8 ++------ .../SurrogateRestAuthenticationConfiguration.java | 10 +++++++--- .../IamSurrogateRestAuthenticationServiceTest.java | 3 +-- ...tcherActionTests.java => DispatcherActionTest.java} | 2 +- 7 files changed, 30 insertions(+), 16 deletions(-) rename cas/cas-server/src/test/java/fr/gouv/vitamui/cas/webflow/actions/{DispatcherActionTests.java => DispatcherActionTest.java} (99%) diff --git a/cas/cas-server/src/main/config/cas-server-application-dev.yml b/cas/cas-server/src/main/config/cas-server-application-dev.yml index 574a7bc4..821a84fe 100644 --- a/cas/cas-server/src/main/config/cas-server-application-dev.yml +++ b/cas/cas-server/src/main/config/cas-server-application-dev.yml @@ -1,6 +1,12 @@ spring: main: allow-bean-definition-overriding: true + cloud: + consul: #disabled for dev + enabled: false + discovery: + enabled: false + register: false server: @@ -10,6 +16,8 @@ server: key-password: jkspasswd host: dev.vitamui.com port: 8080 + servlet: + context-path: /cas vitamui.cas.tenant.identifier: -1 diff --git a/cas/cas-server/src/main/config/cas-server-application-recette.yml b/cas/cas-server/src/main/config/cas-server-application-recette.yml index 1783a57f..31f454d4 100644 --- a/cas/cas-server/src/main/config/cas-server-application-recette.yml +++ b/cas/cas-server/src/main/config/cas-server-application-recette.yml @@ -1,6 +1,12 @@ spring: main: allow-bean-definition-overriding: true + cloud: + consul: #disabled for dev + enabled: false + discovery: + enabled: false + register: false server: @@ -10,6 +16,8 @@ server: key-password: jkspasswd host: dev.vitamui.com port: 8080 + servlet: + context-path: /cas vitamui.cas.tenant.identifier: 4 diff --git a/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationService.java b/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationService.java index 72da4344..5c0c7369 100644 --- a/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationService.java +++ b/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationService.java @@ -49,7 +49,6 @@ import org.apereo.cas.authentication.principal.Principal; import org.apereo.cas.authentication.principal.Service; import org.apereo.cas.authentication.surrogate.BaseSurrogateAuthenticationService; import org.apereo.cas.services.ServicesManager; -import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @@ -66,13 +65,13 @@ public class IamSurrogateRestAuthenticationService extends BaseSurrogateAuthenti private final CasExternalRestClient casExternalRestClient; - @Autowired - private Utils utils; + private final Utils utils; public IamSurrogateRestAuthenticationService(final CasExternalRestClient casExternalRestClient, - final ServicesManager servicesManager) { + final ServicesManager servicesManager, final Utils utils) { super(servicesManager); this.casExternalRestClient = casExternalRestClient; + this.utils = utils; } @Override diff --git a/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherAction.java b/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherAction.java index d8b34320..e7bb07be 100644 --- a/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherAction.java +++ b/cas/cas-server/src/main/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherAction.java @@ -49,9 +49,7 @@ import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; import fr.gouv.vitamui.iam.common.utils.IdentityProviderHelper; import fr.gouv.vitamui.iam.external.client.CasExternalRestClient; import org.apache.commons.lang.StringUtils; -import org.apereo.cas.CasProtocolConstants; import org.apereo.cas.authentication.credential.UsernamePasswordCredential; -import org.apereo.cas.authentication.principal.Service; import org.apereo.cas.web.support.WebUtils; import org.springframework.webflow.action.AbstractAction; import org.springframework.webflow.execution.Event; @@ -65,7 +63,8 @@ import java.util.Optional; * This class can dispatch the user: * - either to the password page * - or to an external IdP (authentication delegation) - * - or to the disabled account page if the user is not linked to any identity provider. + * - or to the bad configuration page if the user is not linked to any identity provider + * - or to the disabled account page if the user is disabled. * * */ @@ -158,9 +157,6 @@ public class DispatcherAction extends AbstractAction { request.setAttribute(Constants.SURROGATE, surrogate); } - final Service service = (Service) requestContext.getFlowScope().get(CasProtocolConstants.PARAMETER_SERVICE); - request.setAttribute(CasProtocolConstants.PARAMETER_SERVICE, service); - return utils.performClientRedirection(this, provider.getSaml2Client(), requestContext); } } diff --git a/cas/cas-server/src/main/java/org/apereo/cas/config/SurrogateRestAuthenticationConfiguration.java b/cas/cas-server/src/main/java/org/apereo/cas/config/SurrogateRestAuthenticationConfiguration.java index fe2eff0c..c3c6586b 100644 --- a/cas/cas-server/src/main/java/org/apereo/cas/config/SurrogateRestAuthenticationConfiguration.java +++ b/cas/cas-server/src/main/java/org/apereo/cas/config/SurrogateRestAuthenticationConfiguration.java @@ -1,5 +1,6 @@ package org.apereo.cas.config; +import fr.gouv.vitamui.cas.util.Utils; import lombok.extern.slf4j.Slf4j; import org.apereo.cas.authentication.surrogate.SurrogateAuthenticationService; import org.apereo.cas.configuration.CasConfigurationProperties; @@ -29,14 +30,17 @@ public class SurrogateRestAuthenticationConfiguration { @Qualifier("servicesManager") private ObjectProvider<ServicesManager> servicesManager; - // customisation JLE: + // customisation: @Autowired private CasExternalRestClient casExternalRestClient; + @Autowired + private Utils utils; + @RefreshScope @Bean public SurrogateAuthenticationService surrogateAuthenticationService() { - // customisation JLE: - return new IamSurrogateRestAuthenticationService(casExternalRestClient, servicesManager.getObject()); + // customisation: + return new IamSurrogateRestAuthenticationService(casExternalRestClient, servicesManager.getObject(), utils); } } diff --git a/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationServiceTest.java b/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationServiceTest.java index 3ea77ade..97b0ca50 100644 --- a/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationServiceTest.java +++ b/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/authentication/IamSurrogateRestAuthenticationServiceTest.java @@ -42,9 +42,8 @@ public final class IamSurrogateRestAuthenticationServiceTest { public void setUp() { casExternalRestClient = mock(CasExternalRestClient.class); - service = new IamSurrogateRestAuthenticationService(casExternalRestClient, mock(ServicesManager.class)); final Utils utils = new Utils(casExternalRestClient, null); - service.setUtils(utils); + service = new IamSurrogateRestAuthenticationService(casExternalRestClient, mock(ServicesManager.class), utils); } @Test diff --git a/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherActionTests.java b/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherActionTest.java similarity index 99% rename from cas/cas-server/src/test/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherActionTests.java rename to cas/cas-server/src/test/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherActionTest.java index b96f5856..b03f19bf 100644 --- a/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherActionTests.java +++ b/cas/cas-server/src/test/java/fr/gouv/vitamui/cas/webflow/actions/DispatcherActionTest.java @@ -37,7 +37,7 @@ import fr.gouv.vitamui.iam.common.utils.IdentityProviderHelper; @RunWith(SpringRunner.class) @ContextConfiguration(classes = ServerIdentityAutoConfiguration.class) @TestPropertySource(locations = "classpath:/application-test.properties") -public final class DispatcherActionTests extends BaseWebflowActionTest { +public final class DispatcherActionTest extends BaseWebflowActionTest { private static final String USERNAME = "julien@vitamui.com"; -- GitLab