Skip to content

Commit 8b97fdd

Browse files
thomasdarimontjzheaux
authored andcommitted
Polish OAuth2ClientConfiguration
1 parent 7fcb42b commit 8b97fdd

File tree

2 files changed

+22
-42
lines changed

2 files changed

+22
-42
lines changed

config/src/main/java/org/springframework/security/config/annotation/web/configuration/OAuth2ClientConfiguration.java

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2023 the original author or authors.
2+
* Copyright 2002-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -29,7 +29,6 @@
2929
import org.springframework.beans.factory.BeanInitializationException;
3030
import org.springframework.beans.factory.ListableBeanFactory;
3131
import org.springframework.beans.factory.ObjectProvider;
32-
import org.springframework.beans.factory.annotation.Autowired;
3332
import org.springframework.beans.factory.config.BeanDefinition;
3433
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
3534
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
@@ -118,43 +117,31 @@ OAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar() {
118117
@Configuration(proxyBeanMethods = false)
119118
static class OAuth2ClientWebMvcSecurityConfiguration implements WebMvcConfigurer {
120119

121-
private OAuth2AuthorizedClientManager authorizedClientManager;
120+
private final OAuth2AuthorizedClientManager authorizedClientManager;
122121

123-
private SecurityContextHolderStrategy securityContextHolderStrategy;
122+
private final ObjectProvider<SecurityContextHolderStrategy> securityContextHolderStrategy;
124123

125-
private OAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar;
124+
private final OAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar;
125+
126+
OAuth2ClientWebMvcSecurityConfiguration(ObjectProvider<OAuth2AuthorizedClientManager> authorizedClientManager,
127+
ObjectProvider<SecurityContextHolderStrategy> securityContextHolderStrategy,
128+
OAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar) {
129+
this.authorizedClientManager = authorizedClientManager.getIfUnique();
130+
this.securityContextHolderStrategy = securityContextHolderStrategy;
131+
this.authorizedClientManagerRegistrar = authorizedClientManagerRegistrar;
132+
}
126133

127134
@Override
128135
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
129136
OAuth2AuthorizedClientManager authorizedClientManager = getAuthorizedClientManager();
130137
if (authorizedClientManager != null) {
131138
OAuth2AuthorizedClientArgumentResolver resolver = new OAuth2AuthorizedClientArgumentResolver(
132139
authorizedClientManager);
133-
if (this.securityContextHolderStrategy != null) {
134-
resolver.setSecurityContextHolderStrategy(this.securityContextHolderStrategy);
135-
}
140+
this.securityContextHolderStrategy.ifAvailable(resolver::setSecurityContextHolderStrategy);
136141
argumentResolvers.add(resolver);
137142
}
138143
}
139144

140-
@Autowired(required = false)
141-
void setAuthorizedClientManager(List<OAuth2AuthorizedClientManager> authorizedClientManagers) {
142-
if (authorizedClientManagers.size() == 1) {
143-
this.authorizedClientManager = authorizedClientManagers.get(0);
144-
}
145-
}
146-
147-
@Autowired(required = false)
148-
void setSecurityContextHolderStrategy(SecurityContextHolderStrategy strategy) {
149-
this.securityContextHolderStrategy = strategy;
150-
}
151-
152-
@Autowired
153-
void setAuthorizedClientManagerRegistrar(
154-
OAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar) {
155-
this.authorizedClientManagerRegistrar = authorizedClientManagerRegistrar;
156-
}
157-
158145
private OAuth2AuthorizedClientManager getAuthorizedClientManager() {
159146
if (this.authorizedClientManager != null) {
160147
return this.authorizedClientManager;

config/src/main/java/org/springframework/security/config/annotation/web/reactive/ReactiveOAuth2ClientConfiguration.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.springframework.beans.factory.ListableBeanFactory;
3131
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
3232
import org.springframework.beans.factory.ObjectProvider;
33-
import org.springframework.beans.factory.annotation.Autowired;
3433
import org.springframework.beans.factory.config.BeanDefinition;
3534
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
3635
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
@@ -93,9 +92,16 @@ ReactiveOAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar(
9392
@Configuration(proxyBeanMethods = false)
9493
static class OAuth2ClientWebFluxSecurityConfiguration implements WebFluxConfigurer {
9594

96-
private ReactiveOAuth2AuthorizedClientManager authorizedClientManager;
95+
private final ReactiveOAuth2AuthorizedClientManager authorizedClientManager;
9796

98-
private ReactiveOAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar;
97+
private final ReactiveOAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar;
98+
99+
OAuth2ClientWebFluxSecurityConfiguration(
100+
ObjectProvider<ReactiveOAuth2AuthorizedClientManager> authorizedClientManager,
101+
ReactiveOAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar) {
102+
this.authorizedClientManager = authorizedClientManager.getIfUnique();
103+
this.authorizedClientManagerRegistrar = authorizedClientManagerRegistrar;
104+
}
99105

100106
@Override
101107
public void configureArgumentResolvers(ArgumentResolverConfigurer configurer) {
@@ -105,19 +111,6 @@ public void configureArgumentResolvers(ArgumentResolverConfigurer configurer) {
105111
}
106112
}
107113

108-
@Autowired(required = false)
109-
void setAuthorizedClientManager(List<ReactiveOAuth2AuthorizedClientManager> authorizedClientManager) {
110-
if (authorizedClientManager.size() == 1) {
111-
this.authorizedClientManager = authorizedClientManager.get(0);
112-
}
113-
}
114-
115-
@Autowired
116-
void setAuthorizedClientManagerRegistrar(
117-
ReactiveOAuth2AuthorizedClientManagerRegistrar authorizedClientManagerRegistrar) {
118-
this.authorizedClientManagerRegistrar = authorizedClientManagerRegistrar;
119-
}
120-
121114
private ReactiveOAuth2AuthorizedClientManager getAuthorizedClientManager() {
122115
if (this.authorizedClientManager != null) {
123116
return this.authorizedClientManager;

0 commit comments

Comments
 (0)