From 934e4033bb390b53e5812fd9c0d672be31c36fea Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Fri, 29 Aug 2014 12:03:34 +0100 Subject: [PATCH] Add login and logout paths to config --- .../sso/CloudfoundrySsoConfiguration.java | 8 ++++---- .../sso/CloudfoundrySsoProperties.java | 19 ++++++++++++++----- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoConfiguration.java b/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoConfiguration.java index ea2ce18..b8d89a1 100644 --- a/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoConfiguration.java +++ b/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoConfiguration.java @@ -165,16 +165,16 @@ public class CloudfoundrySsoConfiguration { requests.anyRequest().authenticated(); } - http.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")) + http.logout().logoutRequestMatcher(new AntPathRequestMatcher(sso.getLogoutPath())) .addLogoutHandler(logoutHandler()); http.exceptionHandling().authenticationEntryPoint( - new LoginUrlAuthenticationEntryPoint("/login")); + new LoginUrlAuthenticationEntryPoint(sso.getLoginPath())); } protected OAuth2ClientAuthenticationProcessingFilter cloudfoundrySsoFilter() { OAuth2ClientAuthenticationProcessingFilter filter = new OAuth2ClientAuthenticationProcessingFilter( - "/login"); + sso.getLoginPath()); filter.setRestTemplate(restTemplate); filter.setTokenServices(tokenServices()); return filter; @@ -195,7 +195,7 @@ public class CloudfoundrySsoConfiguration { HttpServletResponse response, Authentication authentication) { restTemplate.getOAuth2ClientContext().setAccessToken(null); String redirect = request.getRequestURL().toString() - .replace("/logout", sso.getHome().getPath()); + .replace(sso.getLogoutPath(), sso.getHome().getPath()); try { response.sendRedirect(sso.getLogoutUri(redirect)); } diff --git a/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoProperties.java b/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoProperties.java index 557dd4f..3badbd8 100644 --- a/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoProperties.java +++ b/src/main/java/org/springframework/platform/cloudfoundry/sso/CloudfoundrySsoProperties.java @@ -31,19 +31,28 @@ import org.springframework.validation.Validator; @Data public class CloudfoundrySsoProperties implements Validator { - @Value("${vcap.services.sso.credentials.tokenUri:}") + private String serviceId = "sso"; + + private String logoutPath = "/logout"; + + private String loginPath = "/login"; + + @Value("${vcap.services.${cloudfoundry.sso.serviceId:sso}.credentials.tokenUri:}") private String tokenUri; - @Value("${vcap.services.sso.credentials.tokenInfoUri:}") + @Value("${vcap.services.${cloudfoundry.sso.serviceId:sso}.credentials.userInfoUri:}") + private String userInfoUri; + + @Value("${vcap.services.${cloudfoundry.sso.serviceId:sso}.credentials.tokenInfoUri:}") private String tokenInfoUri; - @Value("${vcap.services.sso.credentials.authorizationUri:}") + @Value("${vcap.services.${cloudfoundry.sso.serviceId:sso}.credentials.authorizationUri:}") private String authorizationUri; - @Value("${vcap.services.sso.credentials.clientId:}") + @Value("${vcap.services.${cloudfoundry.sso.serviceId:sso}.credentials.clientId:}") private String clientId; - @Value("${vcap.services.sso.credentials.clientSecret:}") + @Value("${vcap.services.${cloudfoundry.sso.serviceId:sso}.credentials.clientSecret:}") private String clientSecret; private Home home = new Home();