From 551c08ebfec9a0f879229c0416daba7e234301ef Mon Sep 17 00:00:00 2001 From: Madhura Bhave Date: Fri, 17 Nov 2017 12:43:48 -0800 Subject: [PATCH] Update conditions for OAuth security config Closes gh-11070 --- .../OAuth2WebSecurityConfiguration.java | 4 ++-- .../OAuth2WebSecurityConfigurationTests.java | 21 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfiguration.java index 5b84a5c52f..eadf2d4a34 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfiguration.java @@ -34,7 +34,6 @@ import org.springframework.security.oauth2.client.registration.ClientRegistratio * @since 2.0.0 */ @Configuration -@ConditionalOnMissingBean(WebSecurityConfigurerAdapter.class) @ConditionalOnBean(ClientRegistrationRepository.class) class OAuth2WebSecurityConfiguration { @@ -46,7 +45,8 @@ class OAuth2WebSecurityConfiguration { } @Configuration - static class OAuth2WebSecurityConfigurationAdapter + @ConditionalOnMissingBean(WebSecurityConfigurerAdapter.class) + static class OAuth2WebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { @Override diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java index 6e922f3bf7..8ed49c2651 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java @@ -81,15 +81,6 @@ public class OAuth2WebSecurityConfigurationTests { .run((context) -> assertThat(getAuthCodeFilters(context)).isEmpty()); } - @Test - public void securityConfigurerBacksOffWhenOtherWebSecurityAdapterPresent() - throws Exception { - this.contextRunner - .withUserConfiguration(TestWebSecurityConfigurerConfig.class, - OAuth2WebSecurityConfiguration.class) - .run((context) -> assertThat(getAuthCodeFilters(context)).isEmpty()); - } - @Test public void configurationRegistersAuthorizedClientServiceBean() throws Exception { this.contextRunner.withUserConfiguration(ClientRepositoryConfiguration.class, @@ -103,6 +94,18 @@ public class OAuth2WebSecurityConfigurationTests { }); } + @Test + public void securityConfigurerBacksOffWhenOtherWebSecurityAdapterPresent() + throws Exception { + this.contextRunner + .withUserConfiguration(TestWebSecurityConfigurerConfig.class, + OAuth2WebSecurityConfiguration.class) + .run((context) -> { + assertThat(getAuthCodeFilters(context)).isEmpty(); + assertThat(context).getBean(OAuth2AuthorizedClientService.class).isNotNull(); + }); + } + @Test public void authorizedClientServiceBeanIsConditionalOnMissingBean() throws Exception { this.contextRunner