Skip to content

Commit 7cc6509

Browse files
committed
Polish gh-8669
1 parent 48aa5cc commit 7cc6509

File tree

3 files changed

+16
-26
lines changed

3 files changed

+16
-26
lines changed

config/src/main/java/org/springframework/security/config/http/OAuth2ClientBeanDefinitionParser.java

+4-7
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
import org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationProvider;
2626
import org.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilter;
2727
import org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter;
28+
import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository;
2829
import org.springframework.util.StringUtils;
2930
import org.springframework.util.xml.DomUtils;
3031
import org.w3c.dom.Element;
3132

32-
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createAuthorizedClientRepository;
3333
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createDefaultAuthorizedClientRepository;
3434
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientRepository;
3535
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientService;
@@ -64,12 +64,9 @@ public BeanDefinition parse(Element element, ParserContext parserContext) {
6464
BeanMetadataElement authorizedClientRepository = getAuthorizedClientRepository(element);
6565
if (authorizedClientRepository == null) {
6666
BeanMetadataElement authorizedClientService = getAuthorizedClientService(element);
67-
if (authorizedClientService == null) {
68-
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(clientRegistrationRepository);
69-
authorizedClientRepository = this.defaultAuthorizedClientRepository;
70-
} else {
71-
authorizedClientRepository = createAuthorizedClientRepository(authorizedClientService);
72-
}
67+
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(
68+
clientRegistrationRepository, authorizedClientService);
69+
authorizedClientRepository = new RuntimeBeanReference(OAuth2AuthorizedClientRepository.class);
7370
}
7471
BeanMetadataElement authorizationRequestRepository = getAuthorizationRequestRepository(
7572
authorizationCodeGrantElt);

config/src/main/java/org/springframework/security/config/http/OAuth2ClientBeanDefinitionParserUtils.java

+8-12
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,14 @@ static BeanMetadataElement getAuthorizedClientService(Element element) {
5959
return null;
6060
}
6161

62-
static BeanMetadataElement createAuthorizedClientRepository(BeanMetadataElement authorizedClientService) {
63-
return BeanDefinitionBuilder.rootBeanDefinition(
64-
"org.springframework.security.oauth2.client.web.AuthenticatedPrincipalOAuth2AuthorizedClientRepository")
65-
.addConstructorArgValue(authorizedClientService)
66-
.getBeanDefinition();
67-
}
68-
69-
static BeanDefinition createDefaultAuthorizedClientRepository(BeanMetadataElement clientRegistrationRepository) {
70-
BeanDefinition authorizedClientService = BeanDefinitionBuilder.rootBeanDefinition(
71-
"org.springframework.security.oauth2.client.InMemoryOAuth2AuthorizedClientService")
72-
.addConstructorArgValue(clientRegistrationRepository)
73-
.getBeanDefinition();
62+
static BeanDefinition createDefaultAuthorizedClientRepository(
63+
BeanMetadataElement clientRegistrationRepository, BeanMetadataElement authorizedClientService) {
64+
if (authorizedClientService == null) {
65+
authorizedClientService = BeanDefinitionBuilder.rootBeanDefinition(
66+
"org.springframework.security.oauth2.client.InMemoryOAuth2AuthorizedClientService")
67+
.addConstructorArgValue(clientRegistrationRepository)
68+
.getBeanDefinition();
69+
}
7470
return BeanDefinitionBuilder.rootBeanDefinition(
7571
"org.springframework.security.oauth2.client.web.AuthenticatedPrincipalOAuth2AuthorizedClientRepository")
7672
.addConstructorArgValue(authorizedClientService)

config/src/main/java/org/springframework/security/config/http/OAuth2LoginBeanDefinitionParser.java

+4-7
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.springframework.security.oauth2.client.registration.ClientRegistration;
3838
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
3939
import org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter;
40+
import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository;
4041
import org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter;
4142
import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
4243
import org.springframework.security.oauth2.core.OAuth2Error;
@@ -66,7 +67,6 @@
6667
import java.util.List;
6768
import java.util.Map;
6869

69-
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createAuthorizedClientRepository;
7070
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.createDefaultAuthorizedClientRepository;
7171
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientRepository;
7272
import static org.springframework.security.config.http.OAuth2ClientBeanDefinitionParserUtils.getAuthorizedClientService;
@@ -136,12 +136,9 @@ public BeanDefinition parse(Element element, ParserContext parserContext) {
136136
BeanMetadataElement authorizedClientRepository = getAuthorizedClientRepository(element);
137137
if (authorizedClientRepository == null) {
138138
BeanMetadataElement authorizedClientService = getAuthorizedClientService(element);
139-
if (authorizedClientService == null) {
140-
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(clientRegistrationRepository);
141-
authorizedClientRepository = this.defaultAuthorizedClientRepository;
142-
} else {
143-
authorizedClientRepository = createAuthorizedClientRepository(authorizedClientService);
144-
}
139+
this.defaultAuthorizedClientRepository = createDefaultAuthorizedClientRepository(
140+
clientRegistrationRepository, authorizedClientService);
141+
authorizedClientRepository = new RuntimeBeanReference(OAuth2AuthorizedClientRepository.class);
145142
}
146143
BeanMetadataElement accessTokenResponseClient = getAccessTokenResponseClient(element);
147144
BeanMetadataElement oauth2UserService = getOAuth2UserService(element);

0 commit comments

Comments
 (0)