瀏覽代碼

Fix Formatting

Issue gh-15771
Josh Cummings 11 月之前
父節點
當前提交
c1857c0308

+ 64 - 66
config/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/client/OidcLogoutConfigurerTests.java

@@ -85,7 +85,6 @@ import org.springframework.security.web.authentication.logout.LogoutHandler;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.MvcResult;
 import org.springframework.test.web.servlet.MvcResult;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
-import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -261,6 +260,22 @@ public class OidcLogoutConfigurerTests {
 		verify(sessionRegistry).removeSessionInformation(any(OidcLogoutToken.class));
 		verify(sessionRegistry).removeSessionInformation(any(OidcLogoutToken.class));
 	}
 	}
 
 
+	@Test
+	void logoutWhenProviderIssuerMissingThenThrowIllegalArgumentException() throws Exception {
+		this.spring.register(WebServerConfig.class, OidcProviderConfig.class, ProviderIssuerMissingConfig.class)
+			.autowire();
+		String registrationId = this.clientRegistration.getRegistrationId();
+		MockHttpSession session = login();
+		String logoutToken = this.mvc.perform(get("/token/logout").session(session))
+			.andExpect(status().isOk())
+			.andReturn()
+			.getResponse()
+			.getContentAsString();
+		assertThatIllegalArgumentException().isThrownBy(
+				() -> this.mvc.perform(post(this.web.url("/logout/connect/back-channel/" + registrationId).toString())
+					.param("logout_token", logoutToken)));
+	}
+
 	private MockHttpSession login() throws Exception {
 	private MockHttpSession login() throws Exception {
 		MockMvcDispatcher dispatcher = (MockMvcDispatcher) this.web.getDispatcher();
 		MockMvcDispatcher dispatcher = (MockMvcDispatcher) this.web.getDispatcher();
 		this.mvc.perform(get("/token/logout")).andExpect(status().isUnauthorized());
 		this.mvc.perform(get("/token/logout")).andExpect(status().isUnauthorized());
@@ -412,6 +427,54 @@ public class OidcLogoutConfigurerTests {
 
 
 	}
 	}
 
 
+	@Configuration
+	static class ProviderIssuerMissingRegistrationConfig {
+
+		@Autowired(required = false)
+		MockWebServer web;
+
+		@Bean
+		ClientRegistration clientRegistration() {
+			if (this.web == null) {
+				return TestClientRegistrations.clientRegistration().issuerUri(null).build();
+			}
+			String issuer = this.web.url("/").toString();
+			return TestClientRegistrations.clientRegistration()
+				.issuerUri(null)
+				.jwkSetUri(issuer + "jwks")
+				.tokenUri(issuer + "token")
+				.userInfoUri(issuer + "user")
+				.scope("openid")
+				.build();
+		}
+
+		@Bean
+		ClientRegistrationRepository clientRegistrationRepository(ClientRegistration clientRegistration) {
+			return new InMemoryClientRegistrationRepository(clientRegistration);
+		}
+
+	}
+
+	@Configuration
+	@EnableWebSecurity
+	@Import(ProviderIssuerMissingRegistrationConfig.class)
+	static class ProviderIssuerMissingConfig {
+
+		@Bean
+		@Order(1)
+		SecurityFilterChain filters(HttpSecurity http) throws Exception {
+			// @formatter:off
+			http
+					.authorizeHttpRequests((authorize) -> authorize.anyRequest().authenticated())
+					.oauth2Login(Customizer.withDefaults())
+					.oidcLogout((oidc) -> oidc.backChannel(Customizer.withDefaults()));
+			// @formatter:on
+
+			return http.build();
+		}
+
+	}
+
 	@Configuration
 	@Configuration
 	@EnableWebSecurity
 	@EnableWebSecurity
 	@EnableWebMvc
 	@EnableWebMvc
@@ -650,69 +713,4 @@ public class OidcLogoutConfigurerTests {
 
 
 	}
 	}
 
 
-	@Test
-	void logoutWhenProviderIssuerMissingThenThrowIllegalArgumentException() throws Exception {
-		this.spring.register(WebServerConfig.class, OidcProviderConfig.class, ProviderIssuerMissingConfig.class).autowire();
-		String registrationId = this.clientRegistration.getRegistrationId();
-		MockHttpSession session = login();
-		String logoutToken = this.mvc.perform(get("/token/logout").session(session))
-				.andExpect(status().isOk())
-				.andReturn()
-				.getResponse()
-				.getContentAsString();
-		assertThatIllegalArgumentException().isThrownBy(() -> {
-			this.mvc
-					.perform(post(this.web.url("/logout/connect/back-channel/" + registrationId).toString())
-							.param("logout_token", logoutToken));
-		});
-	}
-
-	@Configuration
-	static class ProviderIssuerMissingRegistrationConfig {
-
-		@Autowired(required = false)
-		MockWebServer web;
-
-		@Bean
-		ClientRegistration clientRegistration() {
-			if (this.web == null) {
-				return TestClientRegistrations.clientRegistration().issuerUri(null).build();
-			}
-			String issuer = this.web.url("/").toString();
-			return TestClientRegistrations.clientRegistration()
-					.issuerUri(null)
-					.jwkSetUri(issuer + "jwks")
-					.tokenUri(issuer + "token")
-					.userInfoUri(issuer + "user")
-					.scope("openid")
-					.build();
-		}
-
-		@Bean
-		ClientRegistrationRepository clientRegistrationRepository(ClientRegistration clientRegistration) {
-			return new InMemoryClientRegistrationRepository(clientRegistration);
-		}
-
-	}
-
-	@Configuration
-	@EnableWebSecurity
-	@Import(ProviderIssuerMissingRegistrationConfig.class)
-	static class ProviderIssuerMissingConfig {
-
-		@Bean
-		@Order(1)
-		SecurityFilterChain filters(HttpSecurity http) throws Exception {
-			// @formatter:off
-			http
-					.authorizeHttpRequests((authorize) -> authorize.anyRequest().authenticated())
-					.oauth2Login(Customizer.withDefaults())
-					.oidcLogout((oidc) -> oidc.backChannel(Customizer.withDefaults()));
-			// @formatter:on
-
-			return http.build();
-		}
-
-	}
-
 }
 }

+ 72 - 72
config/src/test/java/org/springframework/security/config/web/server/OidcLogoutSpecTests.java

@@ -86,7 +86,6 @@ import org.springframework.security.web.server.util.matcher.ServerWebExchangeMat
 import org.springframework.test.web.reactive.server.FluxExchangeResult;
 import org.springframework.test.web.reactive.server.FluxExchangeResult;
 import org.springframework.test.web.reactive.server.WebTestClient;
 import org.springframework.test.web.reactive.server.WebTestClient;
 import org.springframework.test.web.reactive.server.WebTestClientConfigurer;
 import org.springframework.test.web.reactive.server.WebTestClientConfigurer;
-import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -324,6 +323,30 @@ public class OidcLogoutSpecTests {
 		verify(sessionRegistry, atLeastOnce()).removeSessionInformation(any(OidcLogoutToken.class));
 		verify(sessionRegistry, atLeastOnce()).removeSessionInformation(any(OidcLogoutToken.class));
 	}
 	}
 
 
+	@Test
+	void logoutWhenProviderIssuerMissingThen5xxServerError() {
+		this.spring.register(WebServerConfig.class, OidcProviderConfig.class, ProviderIssuerMissingConfig.class)
+			.autowire();
+		String registrationId = this.clientRegistration.getRegistrationId();
+		String session = login();
+		String logoutToken = this.test.mutateWith(session(session))
+			.get()
+			.uri("/token/logout")
+			.exchange()
+			.expectStatus()
+			.isOk()
+			.returnResult(String.class)
+			.getResponseBody()
+			.blockFirst();
+		this.test.post()
+			.uri(this.web.url("/logout/connect/back-channel/" + registrationId).toString())
+			.body(BodyInserters.fromFormData("logout_token", logoutToken))
+			.exchange()
+			.expectStatus()
+			.is5xxServerError();
+		this.test.mutateWith(session(session)).get().uri("/token/logout").exchange().expectStatus().isOk();
+	}
+
 	private String login() {
 	private String login() {
 		this.test.get().uri("/token/logout").exchange().expectStatus().isUnauthorized();
 		this.test.get().uri("/token/logout").exchange().expectStatus().isUnauthorized();
 		String registrationId = this.clientRegistration.getRegistrationId();
 		String registrationId = this.clientRegistration.getRegistrationId();
@@ -500,6 +523,54 @@ public class OidcLogoutSpecTests {
 
 
 	}
 	}
 
 
+	@Configuration
+	static class ProviderIssuerMissingRegistrationConfig {
+
+		@Autowired(required = false)
+		MockWebServer web;
+
+		@Bean
+		ClientRegistration clientRegistration() {
+			if (this.web == null) {
+				return TestClientRegistrations.clientRegistration().issuerUri(null).build();
+			}
+			String issuer = this.web.url("/").toString();
+			return TestClientRegistrations.clientRegistration()
+				.issuerUri(null)
+				.jwkSetUri(issuer + "jwks")
+				.tokenUri(issuer + "token")
+				.userInfoUri(issuer + "user")
+				.scope("openid")
+				.build();
+		}
+
+		@Bean
+		ReactiveClientRegistrationRepository clientRegistrationRepository(ClientRegistration clientRegistration) {
+			return new InMemoryReactiveClientRegistrationRepository(clientRegistration);
+		}
+
+	}
+
+	@Configuration
+	@EnableWebFluxSecurity
+	@Import(ProviderIssuerMissingRegistrationConfig.class)
+	static class ProviderIssuerMissingConfig {
+
+		@Bean
+		@Order(1)
+		SecurityWebFilterChain filters(ServerHttpSecurity http) throws Exception {
+			// @formatter:off
+			http
+					.authorizeExchange((authorize) -> authorize.anyExchange().authenticated())
+					.oauth2Login(Customizer.withDefaults())
+					.oidcLogout((oidc) -> oidc.backChannel(Customizer.withDefaults()));
+			// @formatter:on
+
+			return http.build();
+		}
+
+	}
+
 	@Configuration
 	@Configuration
 	@EnableWebFluxSecurity
 	@EnableWebFluxSecurity
 	@EnableWebFlux
 	@EnableWebFlux
@@ -741,75 +812,4 @@ public class OidcLogoutSpecTests {
 
 
 	}
 	}
 
 
-	@Test
-	void logoutWhenProviderIssuerMissingThen5xxServerError() {
-		this.spring.register(WebServerConfig.class, OidcProviderConfig.class, ProviderIssuerMissingConfig.class).autowire();
-		String registrationId = this.clientRegistration.getRegistrationId();
-		String session = login();
-		String logoutToken = this.test.mutateWith(session(session))
-				.get()
-				.uri("/token/logout")
-				.exchange()
-				.expectStatus()
-				.isOk()
-				.returnResult(String.class)
-				.getResponseBody()
-				.blockFirst();
-		this.test.post()
-				.uri(this.web.url("/logout/connect/back-channel/" + registrationId).toString())
-				.body(BodyInserters.fromFormData("logout_token", logoutToken))
-				.exchange()
-				.expectStatus()
-				.is5xxServerError();
-		this.test.mutateWith(session(session)).get().uri("/token/logout").exchange().expectStatus().isOk();
-	}
-
-	@Configuration
-	static class ProviderIssuerMissingRegistrationConfig {
-
-		@Autowired(required = false)
-		MockWebServer web;
-
-		@Bean
-		ClientRegistration clientRegistration() {
-			if (this.web == null) {
-				return TestClientRegistrations.clientRegistration().issuerUri(null).build();
-			}
-			String issuer = this.web.url("/").toString();
-			return TestClientRegistrations.clientRegistration()
-					.issuerUri(null)
-					.jwkSetUri(issuer + "jwks")
-					.tokenUri(issuer + "token")
-					.userInfoUri(issuer + "user")
-					.scope("openid")
-					.build();
-		}
-
-		@Bean
-		ReactiveClientRegistrationRepository clientRegistrationRepository(ClientRegistration clientRegistration) {
-			return new InMemoryReactiveClientRegistrationRepository(clientRegistration);
-		}
-
-	}
-
-	@Configuration
-	@EnableWebFluxSecurity
-	@Import(ProviderIssuerMissingRegistrationConfig.class)
-	static class ProviderIssuerMissingConfig {
-
-		@Bean
-		@Order(1)
-		SecurityWebFilterChain filters(ServerHttpSecurity http) throws Exception {
-			// @formatter:off
-			http
-					.authorizeExchange((authorize) -> authorize.anyExchange().authenticated())
-					.oauth2Login(Customizer.withDefaults())
-					.oidcLogout((oidc) -> oidc.backChannel(Customizer.withDefaults()));
-			// @formatter:on
-
-			return http.build();
-		}
-
-	}
-
 }
 }