From 0c4a6f2abf1655f5b9f8219478b8517328472173 Mon Sep 17 00:00:00 2001 From: Steve Riesenberg <5248162+sjohnr@users.noreply.github.com> Date: Fri, 18 Oct 2024 13:47:03 -0500 Subject: [PATCH] Update to JUnit 5.10.5 --- .../java-configuration/aspectj/build.gradle | 2 +- .../authentication/preauth/build.gradle | 2 +- .../authentication/remember-me/build.gradle | 2 +- .../username-password/form/build.gradle | 2 +- .../username-password/in-memory/build.gradle | 2 +- .../username-password/jdbc/build.gradle | 2 +- .../username-password/ldap/build.gradle | 2 +- .../authentication/x509/build.gradle | 2 +- servlet/java-configuration/data/build.gradle | 2 +- .../hello-mvc-security/build.gradle | 2 +- .../hello-security-explicit/build.gradle | 2 +- .../hello-security/build.gradle | 2 +- .../max-sessions/build.gradle | 2 +- .../saml2/login/build.gradle | 2 +- .../java/oauth2/restclient/build.gradle | 1 + .../java/example/RestClientConfiguration.java | 2 +- .../java/example/SecurityConfiguration.java | 66 +++++++++++++++++++ servlet/xml/java/contacts/build.gradle | 2 +- servlet/xml/java/dms/build.gradle | 2 +- servlet/xml/java/helloworld/build.gradle | 2 +- servlet/xml/java/preauth/build.gradle | 2 +- .../xml/java/saml2/login-logout/build.gradle | 2 +- 22 files changed, 87 insertions(+), 20 deletions(-) diff --git a/servlet/java-configuration/aspectj/build.gradle b/servlet/java-configuration/aspectj/build.gradle index 1a30cb4..9b4607d 100644 --- a/servlet/java-configuration/aspectj/build.gradle +++ b/servlet/java-configuration/aspectj/build.gradle @@ -28,7 +28,7 @@ dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" diff --git a/servlet/java-configuration/authentication/preauth/build.gradle b/servlet/java-configuration/authentication/preauth/build.gradle index 759b76b..7a8eee4 100644 --- a/servlet/java-configuration/authentication/preauth/build.gradle +++ b/servlet/java-configuration/authentication/preauth/build.gradle @@ -17,7 +17,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/authentication/remember-me/build.gradle b/servlet/java-configuration/authentication/remember-me/build.gradle index 393cf9d..2282081 100644 --- a/servlet/java-configuration/authentication/remember-me/build.gradle +++ b/servlet/java-configuration/authentication/remember-me/build.gradle @@ -17,7 +17,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/authentication/username-password/form/build.gradle b/servlet/java-configuration/authentication/username-password/form/build.gradle index b482487..2fbcec3 100644 --- a/servlet/java-configuration/authentication/username-password/form/build.gradle +++ b/servlet/java-configuration/authentication/username-password/form/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/authentication/username-password/in-memory/build.gradle b/servlet/java-configuration/authentication/username-password/in-memory/build.gradle index b482487..2fbcec3 100644 --- a/servlet/java-configuration/authentication/username-password/in-memory/build.gradle +++ b/servlet/java-configuration/authentication/username-password/in-memory/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/authentication/username-password/jdbc/build.gradle b/servlet/java-configuration/authentication/username-password/jdbc/build.gradle index 564d96c..63d78d1 100644 --- a/servlet/java-configuration/authentication/username-password/jdbc/build.gradle +++ b/servlet/java-configuration/authentication/username-password/jdbc/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.hsqldb:hsqldb:2.7.3" implementation "org.springframework.security:spring-security-config" diff --git a/servlet/java-configuration/authentication/username-password/ldap/build.gradle b/servlet/java-configuration/authentication/username-password/ldap/build.gradle index 5b75e55..45e214e 100644 --- a/servlet/java-configuration/authentication/username-password/ldap/build.gradle +++ b/servlet/java-configuration/authentication/username-password/ldap/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-ldap" diff --git a/servlet/java-configuration/authentication/x509/build.gradle b/servlet/java-configuration/authentication/x509/build.gradle index 130b194..76dbbc8 100644 --- a/servlet/java-configuration/authentication/x509/build.gradle +++ b/servlet/java-configuration/authentication/x509/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/data/build.gradle b/servlet/java-configuration/data/build.gradle index 4057f7e..2c8e92a 100644 --- a/servlet/java-configuration/data/build.gradle +++ b/servlet/java-configuration/data/build.gradle @@ -22,7 +22,7 @@ dependencies { implementation platform(libs.org.springframework.security.spring.security.bom) implementation platform(libs.org.springframework.data.spring.data.bom) implementation "org.springframework.boot:spring-boot-starter-validation" - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-data" diff --git a/servlet/java-configuration/hello-mvc-security/build.gradle b/servlet/java-configuration/hello-mvc-security/build.gradle index b482487..2fbcec3 100644 --- a/servlet/java-configuration/hello-mvc-security/build.gradle +++ b/servlet/java-configuration/hello-mvc-security/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/hello-security-explicit/build.gradle b/servlet/java-configuration/hello-security-explicit/build.gradle index 79aee96..4a2b789 100644 --- a/servlet/java-configuration/hello-security-explicit/build.gradle +++ b/servlet/java-configuration/hello-security-explicit/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/hello-security/build.gradle b/servlet/java-configuration/hello-security/build.gradle index 79aee96..4a2b789 100644 --- a/servlet/java-configuration/hello-security/build.gradle +++ b/servlet/java-configuration/hello-security/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/max-sessions/build.gradle b/servlet/java-configuration/max-sessions/build.gradle index 410bf19..b0beeba 100644 --- a/servlet/java-configuration/max-sessions/build.gradle +++ b/servlet/java-configuration/max-sessions/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/java-configuration/saml2/login/build.gradle b/servlet/java-configuration/saml2/login/build.gradle index cc4747e..e607c60 100644 --- a/servlet/java-configuration/saml2/login/build.gradle +++ b/servlet/java-configuration/saml2/login/build.gradle @@ -37,7 +37,7 @@ dependencies { } implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/spring-boot/java/oauth2/restclient/build.gradle b/servlet/spring-boot/java/oauth2/restclient/build.gradle index 19721f7..b5fd7a7 100644 --- a/servlet/spring-boot/java/oauth2/restclient/build.gradle +++ b/servlet/spring-boot/java/oauth2/restclient/build.gradle @@ -6,6 +6,7 @@ plugins { } repositories { + mavenLocal() mavenCentral() maven { url "https://repo.spring.io/milestone" } maven { url "https://repo.spring.io/snapshot" } diff --git a/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/RestClientConfiguration.java b/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/RestClientConfiguration.java index 5ab0e4d..96f9fea 100644 --- a/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/RestClientConfiguration.java +++ b/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/RestClientConfiguration.java @@ -41,7 +41,7 @@ public class RestClientConfiguration { this.baseUrl = baseUrl; } - @Bean +// @Bean public RestClient restClient(OAuth2AuthorizedClientManager authorizedClientManager, OAuth2AuthorizedClientRepository authorizedClientRepository, OAuth2ClientHttpRequestInterceptor.ClientRegistrationIdResolver clientRegistrationIdResolver, diff --git a/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/SecurityConfiguration.java b/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/SecurityConfiguration.java index be79fa5..c93f506 100644 --- a/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/SecurityConfiguration.java +++ b/servlet/spring-boot/java/oauth2/restclient/src/main/java/example/SecurityConfiguration.java @@ -19,10 +19,25 @@ package example; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.convert.converter.Converter; +import org.springframework.http.converter.FormHttpMessageConverter; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient; +import org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest; +import org.springframework.security.oauth2.client.endpoint.RestClientClientCredentialsTokenResponseClient; +import org.springframework.security.oauth2.client.http.OAuth2ErrorResponseErrorHandler; +import org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse; +import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames; +import org.springframework.security.oauth2.core.http.converter.OAuth2AccessTokenResponseHttpMessageConverter; import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.util.matcher.RequestMatcher; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestClient; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; /** * Security configuration for {@link OAuth2RestClientApplication}. @@ -62,4 +77,55 @@ public class SecurityConfiguration { return http.build(); } + @Bean + public OAuth2AccessTokenResponseClient clientCredentialsAccessTokenResponseClient() { + RequestMatcher requestMatcher = (request) -> false; + Converter> parametersConverter = (grantRequest) -> { + LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); + if (grantRequest.getClientRegistration().getRegistrationId().equals("okta")) { + parameters.set(OAuth2ParameterNames.CLIENT_ID, "my-client"); + } + return parameters; + }; + + RestClientClientCredentialsTokenResponseClient accessTokenResponseClient = + new RestClientClientCredentialsTokenResponseClient(); + accessTokenResponseClient.setParametersConverter(parametersConverter); + + return accessTokenResponseClient; + } + + private static Converter> parametersConverter() { + RequestMatcher requestMatcher = (request) -> false; + return (grantRequest) -> { + ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + LinkedMultiValueMap parameters = new LinkedMultiValueMap<>(); + if (requestMatcher.matches(requestAttributes.getRequest())) { + parameters.set(OAuth2ParameterNames.SCOPE, "scope-1 scope-2"); + } + return parameters; + }; + } + + @Bean + public RestClient restClient() { + OAuth2AccessTokenResponseHttpMessageConverter messageConverter = + new OAuth2AccessTokenResponseHttpMessageConverter(); + messageConverter.setAccessTokenResponseConverter((parameters) -> { + // ... + return OAuth2AccessTokenResponse.withToken("custom-token") + // ... + .build(); + }); + + return RestClient.builder() + .messageConverters((messageConverters) -> { + messageConverters.clear(); + messageConverters.add(new FormHttpMessageConverter()); + messageConverters.add(messageConverter); + }) + .defaultStatusHandler(new OAuth2ErrorResponseErrorHandler()) + .build(); + } + } diff --git a/servlet/xml/java/contacts/build.gradle b/servlet/xml/java/contacts/build.gradle index 7efe4c4..d64757b 100644 --- a/servlet/xml/java/contacts/build.gradle +++ b/servlet/xml/java/contacts/build.gradle @@ -16,7 +16,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.security.spring.security.bom) implementation platform(libs.org.springframework.spring.framework.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/xml/java/dms/build.gradle b/servlet/xml/java/dms/build.gradle index 72e7d3c..8996014 100644 --- a/servlet/xml/java/dms/build.gradle +++ b/servlet/xml/java/dms/build.gradle @@ -12,7 +12,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.security.spring.security.bom) implementation platform(libs.org.springframework.spring.framework.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation 'org.springframework:spring-beans' implementation 'org.springframework:spring-jdbc' diff --git a/servlet/xml/java/helloworld/build.gradle b/servlet/xml/java/helloworld/build.gradle index ac69597..8c3a2d1 100644 --- a/servlet/xml/java/helloworld/build.gradle +++ b/servlet/xml/java/helloworld/build.gradle @@ -15,7 +15,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/xml/java/preauth/build.gradle b/servlet/xml/java/preauth/build.gradle index 9fe6999..6a4eb3c 100644 --- a/servlet/xml/java/preauth/build.gradle +++ b/servlet/xml/java/preauth/build.gradle @@ -11,7 +11,7 @@ repositories { dependencies { implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web" diff --git a/servlet/xml/java/saml2/login-logout/build.gradle b/servlet/xml/java/saml2/login-logout/build.gradle index ad53a7d..f23bb2c 100644 --- a/servlet/xml/java/saml2/login-logout/build.gradle +++ b/servlet/xml/java/saml2/login-logout/build.gradle @@ -21,7 +21,7 @@ dependencies { } implementation platform(libs.org.springframework.spring.framework.bom) implementation platform(libs.org.springframework.security.spring.security.bom) - implementation platform("org.junit:junit-bom:5.10.3") + implementation platform("org.junit:junit-bom:5.10.5") implementation "org.springframework.security:spring-security-config" implementation "org.springframework.security:spring-security-web"