From 7491e37310bffb82c9742d5cf3c7c11e21e631bc Mon Sep 17 00:00:00 2001 From: Joe Grandja <10884212+jgrandja@users.noreply.github.com> Date: Tue, 18 Aug 2026 12:07:21 -0400 Subject: [PATCH] Polish gh-19421 --- ...izedClientExchangeFilterFunctionITests.java | 10 +++++----- ...rizedClientExchangeFilterFunctionTests.java | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionITests.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionITests.java index e8995b4048..2dbf9afdf6 100644 --- a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionITests.java +++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionITests.java @@ -168,12 +168,13 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionITests { assertThat(authorizedClientCaptor.getValue().getClientRegistration()).isSameAs(clientRegistration); } + // gh-19421 @Test public void requestWhenNoServletRequestThenAuthorizeAndSendRequest() { RequestContextHolder.resetRequestAttributes(); - InMemoryOAuth2AuthorizedClientService delegate = new InMemoryOAuth2AuthorizedClientService( + final OAuth2AuthorizedClientService delegate = new InMemoryOAuth2AuthorizedClientService( this.clientRegistrationRepository); - OAuth2AuthorizedClientService clientService = spy(new OAuth2AuthorizedClientService() { + OAuth2AuthorizedClientService authorizedClientService = spy(new OAuth2AuthorizedClientService() { @Override public T loadAuthorizedClient(String clientRegistrationId, String principal) { @@ -192,7 +193,7 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionITests { }); this.authorizedClientFilter = new ServletOAuth2AuthorizedClientExchangeFilterFunction( new AuthorizedClientServiceOAuth2AuthorizedClientManager(this.clientRegistrationRepository, - clientService)); + authorizedClientService)); this.webClient = WebClient.builder().apply(this.authorizedClientFilter.oauth2Configuration()).build(); // @formatter:off @@ -214,7 +215,6 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionITests { .build(); given(this.clientRegistrationRepository.findByRegistrationId(eq(clientRegistration.getRegistrationId()))) .willReturn(clientRegistration); - this.webClient.get() .uri(this.serverUrl) .attributes(ServletOAuth2AuthorizedClientExchangeFilterFunction @@ -225,7 +225,7 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionITests { assertThat(this.server.getRequestCount()).isEqualTo(2); ArgumentCaptor authorizedClientCaptor = ArgumentCaptor .forClass(OAuth2AuthorizedClient.class); - verify(clientService).saveAuthorizedClient(authorizedClientCaptor.capture(), eq(this.authentication)); + verify(authorizedClientService).saveAuthorizedClient(authorizedClientCaptor.capture(), eq(this.authentication)); assertThat(authorizedClientCaptor.getValue().getClientRegistration()).isSameAs(clientRegistration); } diff --git a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionTests.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionTests.java index 71157f36f8..ee74ec1c00 100644 --- a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionTests.java +++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/reactive/function/client/ServletOAuth2AuthorizedClientExchangeFilterFunctionTests.java @@ -38,8 +38,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.security.oauth2.client.AuthorizedClientServiceOAuth2AuthorizedClientManager; -import org.springframework.security.oauth2.client.OAuth2AuthorizedClientService; import reactor.core.publisher.Mono; import reactor.util.context.Context; @@ -69,12 +67,14 @@ import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolderStrategy; import org.springframework.security.core.context.SecurityContextImpl; +import org.springframework.security.oauth2.client.AuthorizedClientServiceOAuth2AuthorizedClientManager; import org.springframework.security.oauth2.client.ClientAuthorizationException; import org.springframework.security.oauth2.client.JwtBearerOAuth2AuthorizedClientProvider; import org.springframework.security.oauth2.client.OAuth2AuthorizationFailureHandler; import org.springframework.security.oauth2.client.OAuth2AuthorizedClient; import org.springframework.security.oauth2.client.OAuth2AuthorizedClientProvider; import org.springframework.security.oauth2.client.OAuth2AuthorizedClientProviderBuilder; +import org.springframework.security.oauth2.client.OAuth2AuthorizedClientService; import org.springframework.security.oauth2.client.RefreshTokenOAuth2AuthorizedClientProvider; import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken; import org.springframework.security.oauth2.client.endpoint.JwtBearerGrantRequest; @@ -137,7 +137,7 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionTests { private OAuth2AuthorizedClientRepository authorizedClientRepository; @Mock - private OAuth2AuthorizedClientService oAuth2AuthorizedClientService; + private OAuth2AuthorizedClientService authorizedClientService; @Mock private ClientRegistrationRepository clientRegistrationRepository; @@ -666,11 +666,12 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionTests { authentication, servletRequest); } + // gh-19421 @Test - public void filterWhenServletRequestNullClientRegistrationIdFromAuthenticationAndCustomPrincipalResolverThenAuthorizedClientResolved() { + public void filterWhenServletRequestNullAndClientRegistrationIdFromAuthenticationAndCustomPrincipalResolverThenAuthorizedClientResolved() { this.function = new ServletOAuth2AuthorizedClientExchangeFilterFunction( new AuthorizedClientServiceOAuth2AuthorizedClientManager(this.clientRegistrationRepository, - oAuth2AuthorizedClientService)); + this.authorizedClientService)); this.function.setDefaultOAuth2AuthorizedClient(true); OAuth2User user = mock(OAuth2User.class); List authorities = AuthorityUtils.createAuthorityList("ROLE_USER"); @@ -680,8 +681,9 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionTests { this.registration.getRegistrationId()); OAuth2AuthorizedClient authorizedClient = new OAuth2AuthorizedClient(this.registration, "principalName", this.accessToken); - given(this.clientRegistrationRepository.findByRegistrationId(any())).willReturn(this.registration); - given(this.oAuth2AuthorizedClientService.loadAuthorizedClient(this.registration.getRegistrationId(), + given(this.clientRegistrationRepository.findByRegistrationId(this.registration.getRegistrationId())) + .willReturn(this.registration); + given(this.authorizedClientService.loadAuthorizedClient(this.registration.getRegistrationId(), initialAuthentication.getName())) .willReturn(authorizedClient); final ClientRequest clientRequest = ClientRequest.create(HttpMethod.GET, URI.create("https://example.com")) @@ -697,7 +699,7 @@ public class ServletOAuth2AuthorizedClientExchangeFilterFunctionTests { assertThat(request.url().toASCIIString()).isEqualTo("https://example.com"); assertThat(request.method()).isEqualTo(HttpMethod.GET); assertThat(getBody(request)).isEmpty(); - verify(this.oAuth2AuthorizedClientService).loadAuthorizedClient(this.registration.getRegistrationId(), + verify(this.authorizedClientService).loadAuthorizedClient(this.registration.getRegistrationId(), authentication.getName()); }