Removes old spring-security-oauth2.

See gh-1053
This commit is contained in:
spencergibb
2022-01-03 16:35:54 -05:00
parent 4d9d242841
commit fedeb0aa4b
8 changed files with 129 additions and 180 deletions

View File

@@ -75,7 +75,6 @@ public class LoadBalancerCacheAutoConfiguration {
private static final Log LOG = LogFactory.getLog(LoadBalancerCaffeineWarnLogger.class);
@Override
public void afterPropertiesSet() {
if (LOG.isWarnEnabled()) {

View File

@@ -16,45 +16,35 @@
package org.springframework.cloud.loadbalancer.security;
import java.util.ArrayList;
import java.util.List;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.security.oauth2.OAuth2AutoConfiguration;
import org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoRestTemplateCustomizer;
import org.springframework.cloud.client.loadbalancer.LoadBalancerInterceptor;
import org.springframework.cloud.client.loadbalancer.RetryLoadBalancerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
/**
* @author Dave Syer
*
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(OAuth2RestTemplate.class)
// @ConditionalOnClass(OAuth2RestTemplate.class)
@ConditionalOnProperty("spring.cloud.oauth2.load-balanced.enabled")
@AutoConfigureAfter(OAuth2AutoConfiguration.class)
// @AutoConfigureAfter(OAuth2AutoConfiguration.class)
public class OAuth2LoadBalancerClientAutoConfiguration {
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(LoadBalancerInterceptor.class)
protected static class UserInfoLoadBalancerConfig {
@Bean
public UserInfoRestTemplateCustomizer loadBalancedUserInfoRestTemplateCustomizer(
final LoadBalancerInterceptor loadBalancerInterceptor) {
return restTemplate -> {
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>(restTemplate.getInterceptors());
interceptors.add(loadBalancerInterceptor);
restTemplate.setInterceptors(interceptors);
};
}
/*
* @Bean public UserInfoRestTemplateCustomizer
* loadBalancedUserInfoRestTemplateCustomizer( final LoadBalancerInterceptor
* loadBalancerInterceptor) { return restTemplate -> {
* List<ClientHttpRequestInterceptor> interceptors = new
* ArrayList<>(restTemplate.getInterceptors());
* interceptors.add(loadBalancerInterceptor);
* restTemplate.setInterceptors(interceptors); }; }
*/
}
@@ -62,18 +52,18 @@ public class OAuth2LoadBalancerClientAutoConfiguration {
@ConditionalOnBean(RetryLoadBalancerInterceptor.class)
protected static class UserInfoRetryLoadBalancerConfig {
@Bean
public UserInfoRestTemplateCustomizer retryLoadBalancedUserInfoRestTemplateCustomizer(
final RetryLoadBalancerInterceptor loadBalancerInterceptor) {
return new UserInfoRestTemplateCustomizer() {
@Override
public void customize(OAuth2RestTemplate restTemplate) {
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>(restTemplate.getInterceptors());
interceptors.add(loadBalancerInterceptor);
restTemplate.setInterceptors(interceptors);
}
};
}
/*
* @Bean public UserInfoRestTemplateCustomizer
* retryLoadBalancedUserInfoRestTemplateCustomizer( final
* RetryLoadBalancerInterceptor loadBalancerInterceptor) { return new
* UserInfoRestTemplateCustomizer() {
*
* @Override public void customize(OAuth2RestTemplate restTemplate) {
* List<ClientHttpRequestInterceptor> interceptors = new
* ArrayList<>(restTemplate.getInterceptors());
* interceptors.add(loadBalancerInterceptor);
* restTemplate.setInterceptors(interceptors); } }; }
*/
}

View File

@@ -16,27 +16,21 @@
package org.springframework.cloud.loadbalancer.security;
import java.net.URI;
import org.apache.catalina.webresources.TomcatURLStreamHandlerFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso;
import org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoRestTemplateFactory;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.test.ClassPathExclusions;
import org.springframework.cloud.test.ModifiedClassPathRunner;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.http.client.ClientHttpRequest;
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
import static org.assertj.core.api.Assertions.assertThat;
@@ -69,6 +63,7 @@ public class OAuth2LoadBalancerClientAutoConfigurationTests {
}
@Test
@Ignore
public void userInfoNotLoadBalanced() {
this.context = new SpringApplicationBuilder(ClientConfiguration.class).properties("spring.config.name=test",
"server.port=0", "security.oauth2.resource.userInfoUri:https://example.com").run();
@@ -78,6 +73,7 @@ public class OAuth2LoadBalancerClientAutoConfigurationTests {
}
@Test
@Ignore
public void userInfoLoadBalancedNoRetry() throws Exception {
this.context = new SpringApplicationBuilder(ClientConfiguration.class).properties("spring.config.name=test",
"server.port=0", "security.oauth2.resource.userInfoUri:https://nosuchservice",
@@ -86,16 +82,19 @@ public class OAuth2LoadBalancerClientAutoConfigurationTests {
assertThat(this.context.containsBean("loadBalancedUserInfoRestTemplateCustomizer")).isTrue();
assertThat(this.context.containsBean("retryLoadBalancedUserInfoRestTemplateCustomizer")).isFalse();
OAuth2RestTemplate template = this.context.getBean(UserInfoRestTemplateFactory.class).getUserInfoRestTemplate();
ClientHttpRequest request = template.getRequestFactory().createRequest(new URI("https://nosuchservice"),
HttpMethod.GET);
expected.expectMessage("No instances available for nosuchservice");
request.execute();
/*
* OAuth2RestTemplate template =
* this.context.getBean(UserInfoRestTemplateFactory.class).getUserInfoRestTemplate
* (); ClientHttpRequest request = template.getRequestFactory().createRequest(new
* URI("https://nosuchservice"), HttpMethod.GET);
* expected.expectMessage("No instances available for nosuchservice");
* request.execute();
*/
}
@EnableAutoConfiguration
@Configuration(proxyBeanMethods = false)
@EnableOAuth2Sso
// @EnableOAuth2Sso
protected static class ClientConfiguration {
}