瀏覽代碼

Polish InMemoryClientRegistrationRepository

Issue: gh-4745
Rob Winch 8 年之前
父節點
當前提交
c1c726f123

+ 6 - 0
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) <i>in-memory</i>.
  *
  * @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<ClientRegistration> {
 	private final Map<String, ClientRegistration> registrations;
 
+	public InMemoryClientRegistrationRepository(ClientRegistration... registrations) {
+		this(Arrays.asList(registrations));
+	}
+
 	public InMemoryClientRegistrationRepository(List<ClientRegistration> registrations) {
 		Assert.notEmpty(registrations, "registrations cannot be empty");
 		Collector<ClientRegistration, ?, ConcurrentMap<String, ClientRegistration>> collector =

+ 1 - 2
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() {

+ 2 - 1
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;
 	}

+ 2 - 1
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));

+ 0 - 4
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);
 	}