From c1c726f123da5c49f5417803d0ef81dc4f732fe2 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Sun, 29 Oct 2017 20:03:36 -0500 Subject: [PATCH] Polish InMemoryClientRegistrationRepository Issue: gh-4745 --- .../registration/InMemoryClientRegistrationRepository.java | 6 ++++++ .../InMemoryClientRegistrationRepositoryTests.java | 3 +-- .../web/OAuth2AuthorizationRequestRedirectFilterTests.java | 3 ++- .../client/web/OAuth2LoginAuthenticationFilterTests.java | 3 ++- .../security/oauth2/client/web/TestUtil.java | 4 ---- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepository.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepository.java index 8cea2b91b5..45968ee811 100644 --- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepository.java +++ b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepository.java @@ -17,6 +17,7 @@ package org.springframework.security.oauth2.client.registration; import org.springframework.util.Assert; +import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -33,6 +34,7 @@ import static java.util.stream.Collectors.toMap; * A {@link ClientRegistrationRepository} that stores {@link ClientRegistration}(s) in-memory. * * @author Joe Grandja + * @author Rob Winch * @since 5.0 * @see ClientRegistrationRepository * @see ClientRegistration @@ -40,6 +42,10 @@ import static java.util.stream.Collectors.toMap; public final class InMemoryClientRegistrationRepository implements ClientRegistrationRepository, Iterable { private final Map registrations; + public InMemoryClientRegistrationRepository(ClientRegistration... registrations) { + this(Arrays.asList(registrations)); + } + public InMemoryClientRegistrationRepository(List registrations) { Assert.notEmpty(registrations, "registrations cannot be empty"); Collector> collector = diff --git a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepositoryTests.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepositoryTests.java index 9df4fc5edd..43c2a17463 100644 --- a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepositoryTests.java +++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/registration/InMemoryClientRegistrationRepositoryTests.java @@ -43,8 +43,7 @@ public class InMemoryClientRegistrationRepositoryTests { .tokenUri("https://example.com/oauth/access_token") .build(); - private InMemoryClientRegistrationRepository clients = new InMemoryClientRegistrationRepository( - Arrays.asList(this.registration)); + private InMemoryClientRegistrationRepository clients = new InMemoryClientRegistrationRepository(this.registration); @Test(expected = IllegalArgumentException.class) public void constructorListClientRegistrationWhenNullThenIllegalArgumentException() { diff --git a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2AuthorizationRequestRedirectFilterTests.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2AuthorizationRequestRedirectFilterTests.java index 13bb140bac..1fb87a8d38 100644 --- a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2AuthorizationRequestRedirectFilterTests.java +++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2AuthorizationRequestRedirectFilterTests.java @@ -23,6 +23,7 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.security.oauth2.client.registration.ClientRegistration; import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository; +import org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository; import org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest; import javax.servlet.FilterChain; @@ -116,7 +117,7 @@ public class OAuth2AuthorizationRequestRedirectFilterTests { private OAuth2AuthorizationRequestRedirectFilter setupFilter(String authorizationUri, ClientRegistration... clientRegistrations) throws Exception { - ClientRegistrationRepository clientRegistrationRepository = TestUtil.clientRegistrationRepository(clientRegistrations); + ClientRegistrationRepository clientRegistrationRepository = new InMemoryClientRegistrationRepository(clientRegistrations); OAuth2AuthorizationRequestRedirectFilter filter = new OAuth2AuthorizationRequestRedirectFilter(clientRegistrationRepository); return filter; } diff --git a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2LoginAuthenticationFilterTests.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2LoginAuthenticationFilterTests.java index b5c31cfb9b..e7cc32dd0a 100644 --- a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2LoginAuthenticationFilterTests.java +++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2LoginAuthenticationFilterTests.java @@ -32,6 +32,7 @@ import org.springframework.security.oauth2.client.authentication.OAuth2Authentic import org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken; import org.springframework.security.oauth2.client.registration.ClientRegistration; import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository; +import org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository; import org.springframework.security.oauth2.core.OAuth2AccessToken; import org.springframework.security.oauth2.core.OAuth2AuthenticationException; import org.springframework.security.oauth2.core.OAuth2ErrorCodes; @@ -186,7 +187,7 @@ public class OAuth2LoginAuthenticationFilterTests { private OAuth2LoginAuthenticationFilter setupFilter( AuthenticationManager authenticationManager, ClientRegistration... clientRegistrations) throws Exception { - ClientRegistrationRepository clientRegistrationRepository = TestUtil.clientRegistrationRepository(clientRegistrations); + ClientRegistrationRepository clientRegistrationRepository = new InMemoryClientRegistrationRepository(clientRegistrations); OAuth2LoginAuthenticationFilter filter = new OAuth2LoginAuthenticationFilter( clientRegistrationRepository, mock(OAuth2AuthorizedClientService.class)); diff --git a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/TestUtil.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/TestUtil.java index 4b3dc278fd..c4c07d4bd8 100644 --- a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/TestUtil.java +++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/TestUtil.java @@ -35,10 +35,6 @@ class TestUtil { static final String GOOGLE_REGISTRATION_ID = "google"; static final String GITHUB_REGISTRATION_ID = "github"; - static ClientRegistrationRepository clientRegistrationRepository(ClientRegistration... clientRegistrations) { - return new InMemoryClientRegistrationRepository(Arrays.asList(clientRegistrations)); - } - static ClientRegistration googleClientRegistration() { return googleClientRegistration(DEFAULT_SERVER_URL + AUTHORIZE_BASE_URI + "/" + GOOGLE_REGISTRATION_ID); }