That BaseConfiguration thing didn't work out after all
It seems like a base class that defines `@Beans` just doesn't define any beans. Oh well, time to copy-paste.
This commit is contained in:
		
							parent
							
								
									1babdd5c2e
								
							
						
					
					
						commit
						905451f92e
					
				|  | @ -1,39 +0,0 @@ | ||||||
| /* |  | ||||||
|  * Copyright 2012-2016 the original author or authors. |  | ||||||
|  * |  | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  | ||||||
|  * you may not use this file except in compliance with the License. |  | ||||||
|  * You may obtain a copy of the License at |  | ||||||
|  * |  | ||||||
|  *      http://www.apache.org/licenses/LICENSE-2.0 |  | ||||||
|  * |  | ||||||
|  * Unless required by applicable law or agreed to in writing, software |  | ||||||
|  * distributed under the License is distributed on an "AS IS" BASIS, |  | ||||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | ||||||
|  * See the License for the specific language governing permissions and |  | ||||||
|  * limitations under the License. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| package org.springframework.boot.autoconfigure.security.oauth2.client; |  | ||||||
| 
 |  | ||||||
| import org.springframework.boot.context.properties.ConfigurationProperties; |  | ||||||
| import org.springframework.context.annotation.Bean; |  | ||||||
| import org.springframework.context.annotation.Primary; |  | ||||||
| import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * Common base class providing beans for authorization code clients. Does not work if |  | ||||||
|  * nested inside a <code>@Configuration</code> class because it is considered as |  | ||||||
|  * configuration. |  | ||||||
|  */ |  | ||||||
| abstract class BaseConfiguration { |  | ||||||
| 
 |  | ||||||
| 	@Bean |  | ||||||
| 	@ConfigurationProperties("security.oauth2.client") |  | ||||||
| 	@Primary |  | ||||||
| 	public AuthorizationCodeResourceDetails oauth2RemoteResource() { |  | ||||||
| 		AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); |  | ||||||
| 		return details; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
|  | @ -50,6 +50,7 @@ import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResour | ||||||
| import org.springframework.security.oauth2.client.token.AccessTokenRequest; | import org.springframework.security.oauth2.client.token.AccessTokenRequest; | ||||||
| import org.springframework.security.oauth2.client.token.DefaultAccessTokenRequest; | import org.springframework.security.oauth2.client.token.DefaultAccessTokenRequest; | ||||||
| import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails; | import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails; | ||||||
|  | import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails; | ||||||
| import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken; | import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken; | ||||||
| import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client; | import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client; | ||||||
| import org.springframework.security.oauth2.config.annotation.web.configuration.OAuth2ClientConfiguration; | import org.springframework.security.oauth2.config.annotation.web.configuration.OAuth2ClientConfiguration; | ||||||
|  | @ -99,7 +100,15 @@ public class OAuth2RestOperationsConfiguration { | ||||||
| 	@Configuration | 	@Configuration | ||||||
| 	@ConditionalOnBean(OAuth2ClientConfiguration.class) | 	@ConditionalOnBean(OAuth2ClientConfiguration.class) | ||||||
| 	@ConditionalOnWebApplication | 	@ConditionalOnWebApplication | ||||||
| 	protected static class SessionScopedConfiguration extends BaseConfiguration { | 	protected static class SessionScopedConfiguration { | ||||||
|  | 
 | ||||||
|  | 		@Bean | ||||||
|  | 		@ConfigurationProperties("security.oauth2.client") | ||||||
|  | 		@Primary | ||||||
|  | 		public AuthorizationCodeResourceDetails oauth2RemoteResource() { | ||||||
|  | 			AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); | ||||||
|  | 			return details; | ||||||
|  | 		} | ||||||
| 
 | 
 | ||||||
| 		@Bean | 		@Bean | ||||||
| 		public FilterRegistrationBean oauth2ClientFilterRegistration( | 		public FilterRegistrationBean oauth2ClientFilterRegistration( | ||||||
|  | @ -136,7 +145,15 @@ public class OAuth2RestOperationsConfiguration { | ||||||
| 	@Configuration | 	@Configuration | ||||||
| 	@ConditionalOnMissingBean(OAuth2ClientConfiguration.class) | 	@ConditionalOnMissingBean(OAuth2ClientConfiguration.class) | ||||||
| 	@ConditionalOnWebApplication | 	@ConditionalOnWebApplication | ||||||
| 	protected static class RequestScopedConfiguration extends BaseConfiguration { | 	protected static class RequestScopedConfiguration { | ||||||
|  | 
 | ||||||
|  | 		@Bean | ||||||
|  | 		@ConfigurationProperties("security.oauth2.client") | ||||||
|  | 		@Primary | ||||||
|  | 		public AuthorizationCodeResourceDetails oauth2RemoteResource() { | ||||||
|  | 			AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); | ||||||
|  | 			return details; | ||||||
|  | 		} | ||||||
| 
 | 
 | ||||||
| 		@Bean | 		@Bean | ||||||
| 		@Scope(value = "request", proxyMode = ScopedProxyMode.INTERFACES) | 		@Scope(value = "request", proxyMode = ScopedProxyMode.INTERFACES) | ||||||
|  |  | ||||||
|  | @ -49,10 +49,10 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. | ||||||
| @RunWith(SpringJUnit4ClassRunner.class) | @RunWith(SpringJUnit4ClassRunner.class) | ||||||
| @SpringApplicationConfiguration(TestConfiguration.class) | @SpringApplicationConfiguration(TestConfiguration.class) | ||||||
| @WebAppConfiguration | @WebAppConfiguration | ||||||
| @TestPropertySource(properties = { "security.oauth2.client.clientId=client", | @TestPropertySource(properties = { "debug=true", "security.oauth2.client.clientId=client", | ||||||
| 		"security.oauth2.client.clientSecret=secret", | 		"security.oauth2.client.clientSecret=secret", | ||||||
| 		"security.oauth2.client.authorizationUri=http://example.com/oauth/authorize", | 		"security.oauth2.client.userAuthorizationUri=http://example.com/oauth/authorize", | ||||||
| 		"security.oauth2.client.tokenUri=http://example.com/oauth/token", | 		"security.oauth2.client.accessTokenUri=http://example.com/oauth/token", | ||||||
| 		"security.oauth2.resource.jwt.keyValue=SSSSHHH" }) | 		"security.oauth2.resource.jwt.keyValue=SSSSHHH" }) | ||||||
| public class BasicOAuth2SsoConfigurationTests { | public class BasicOAuth2SsoConfigurationTests { | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue