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 574a7bc4427339951750e9a14b396fa2b0104ce3..821a84fe7b22415cae01ca8b89e574bf3a95c0c7 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 1783a57faa7da117b37db35f09937443d465b34c..31f454d47825c0feb0d3362b7b90eb582111b5f6 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 72da434499ecb5e2544579694ab4199be199f509..5c0c7369ccb05daa3193c3a0a7af1bccda626a18 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 d8b343205251755f0331dedca68a07f0a91879b6..e7bb07bea41634d1276f7d827b11f1bcf2dcdf1f 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 fe2eff0c580df22f6be050bfb04da59dc911ffe6..c3c6586b93bc9f5910a4be70c96a0c8ebd5ab890 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 3ea77adee908085187ce0ee90747c24f25887a50..97b0ca50b7d0cb78c43ddd966c22047efa346637 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 b96f58564b97bb2f1e62f04e04440eea9729887a..b03f19bf2b0510510823387d238dfa1eaa8238c4 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";