Skip to content

Commit 0b5a14a

Browse files
committed
Register OAuth2AuthorizedClientArgumentResolver as custom resolver for XML config
Issue gh-8669
1 parent 3e25714 commit 0b5a14a

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* @since 5.4
3939
*/
4040
final class OAuth2ClientWebMvcSecurityPostProcessor implements BeanDefinitionRegistryPostProcessor, BeanFactoryAware {
41-
private static final String ARGUMENT_RESOLVERS_PROPERTY = "argumentResolvers";
41+
private static final String CUSTOM_ARGUMENT_RESOLVERS_PROPERTY = "customArgumentResolvers";
4242
private BeanFactory beanFactory;
4343

4444
@Override
@@ -56,7 +56,7 @@ public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) t
5656
BeanDefinition beanDefinition = registry.getBeanDefinition(beanName);
5757
if (RequestMappingHandlerAdapter.class.getName().equals(beanDefinition.getBeanClassName())) {
5858
PropertyValue currentArgumentResolvers =
59-
beanDefinition.getPropertyValues().getPropertyValue(ARGUMENT_RESOLVERS_PROPERTY);
59+
beanDefinition.getPropertyValues().getPropertyValue(CUSTOM_ARGUMENT_RESOLVERS_PROPERTY);
6060
ManagedList<Object> argumentResolvers = new ManagedList<>();
6161
if (currentArgumentResolvers != null) {
6262
argumentResolvers.addAll((ManagedList<?>) currentArgumentResolvers.getValue());
@@ -74,7 +74,7 @@ public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) t
7474
beanDefinitionBuilder.addConstructorArgReference(authorizedClientRepositoryBeanNames[0]);
7575
}
7676
argumentResolvers.add(beanDefinitionBuilder.getBeanDefinition());
77-
beanDefinition.getPropertyValues().add(ARGUMENT_RESOLVERS_PROPERTY, argumentResolvers);
77+
beanDefinition.getPropertyValues().add(CUSTOM_ARGUMENT_RESOLVERS_PROPERTY, argumentResolvers);
7878
break;
7979
}
8080
}

config/src/test/java/org/springframework/security/config/http/OAuth2ClientBeanDefinitionParserTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
4242
import org.springframework.test.web.servlet.MockMvc;
4343
import org.springframework.test.web.servlet.MvcResult;
44+
import org.springframework.ui.Model;
4445
import org.springframework.util.LinkedMultiValueMap;
4546
import org.springframework.util.MultiValueMap;
4647
import org.springframework.web.bind.annotation.GetMapping;
@@ -226,7 +227,7 @@ public void requestWhenAuthorizedClientFoundThenMethodArgumentResolved() throws
226227
static class AuthorizedClientController {
227228

228229
@GetMapping("/authorized-client")
229-
String authorizedClient(@RegisteredOAuth2AuthorizedClient("google") OAuth2AuthorizedClient authorizedClient) {
230+
String authorizedClient(Model model, @RegisteredOAuth2AuthorizedClient("google") OAuth2AuthorizedClient authorizedClient) {
230231
return authorizedClient != null ? "resolved" : "not-resolved";
231232
}
232233
}

config/src/test/java/org/springframework/security/config/http/OAuth2LoginBeanDefinitionParserTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
6363
import org.springframework.test.web.servlet.MockMvc;
6464
import org.springframework.test.web.servlet.MvcResult;
65+
import org.springframework.ui.Model;
6566
import org.springframework.util.LinkedMultiValueMap;
6667
import org.springframework.util.MultiValueMap;
6768
import org.springframework.web.bind.annotation.GetMapping;
@@ -522,7 +523,7 @@ public void requestWhenAuthorizedClientFoundThenMethodArgumentResolved() throws
522523
static class AuthorizedClientController {
523524

524525
@GetMapping("/authorized-client")
525-
String authorizedClient(@RegisteredOAuth2AuthorizedClient("google") OAuth2AuthorizedClient authorizedClient) {
526+
String authorizedClient(Model model, @RegisteredOAuth2AuthorizedClient("google") OAuth2AuthorizedClient authorizedClient) {
526527
return authorizedClient != null ? "resolved" : "not-resolved";
527528
}
528529
}

0 commit comments

Comments
 (0)