diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationConsentService.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationConsentService.java index b7bffe68..bf8660ac 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationConsentService.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationConsentService.java @@ -71,17 +71,6 @@ import org.springframework.util.StringUtils; @ImportRuntimeHints(JdbcOAuth2AuthorizationConsentService.JdbcOAuth2AuthorizationConsentServiceRuntimeHintsRegistrar.class) public class JdbcOAuth2AuthorizationConsentService implements OAuth2AuthorizationConsentService { - static class JdbcOAuth2AuthorizationConsentServiceRuntimeHintsRegistrar implements RuntimeHintsRegistrar { - - @Override - public void registerHints(RuntimeHints hints, ClassLoader classLoader) { - hints.resources() - .registerResource(new ClassPathResource( - "org/springframework/security/oauth2/server/authorization/oauth2-authorization-consent-schema.sql")); - } - - } - // @formatter:off private static final String COLUMN_NAMES = "registered_client_id, " + "principal_name, " @@ -288,4 +277,15 @@ public class JdbcOAuth2AuthorizationConsentService implements OAuth2Authorizatio } + static class JdbcOAuth2AuthorizationConsentServiceRuntimeHintsRegistrar implements RuntimeHintsRegistrar { + + @Override + public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + hints.resources() + .registerResource(new ClassPathResource( + "org/springframework/security/oauth2/server/authorization/oauth2-authorization-consent-schema.sql")); + } + + } + } diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java index 9e1e7d22..316a1b0e 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java @@ -97,17 +97,6 @@ import org.springframework.util.StringUtils; @ImportRuntimeHints(JdbcOAuth2AuthorizationService.JdbcOAuth2AuthorizationServiceRuntimeHintsRegistrar.class) public class JdbcOAuth2AuthorizationService implements OAuth2AuthorizationService { - static class JdbcOAuth2AuthorizationServiceRuntimeHintsRegistrar implements RuntimeHintsRegistrar { - - @Override - public void registerHints(RuntimeHints hints, ClassLoader classLoader) { - hints.resources() - .registerResource(new ClassPathResource( - "org/springframework/security/oauth2/server/authorization/oauth2-authorization-schema.sql")); - } - - } - // @formatter:off private static final String COLUMN_NAMES = "id, " + "registered_client_id, " @@ -822,4 +811,15 @@ public class JdbcOAuth2AuthorizationService implements OAuth2AuthorizationServic } + static class JdbcOAuth2AuthorizationServiceRuntimeHintsRegistrar implements RuntimeHintsRegistrar { + + @Override + public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + hints.resources() + .registerResource(new ClassPathResource( + "org/springframework/security/oauth2/server/authorization/oauth2-authorization-schema.sql")); + } + + } + } diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/aot/hint/OAuth2AuthorizationServerBeanRegistrationAotProcessor.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/aot/hint/OAuth2AuthorizationServerBeanRegistrationAotProcessor.java index f5739ba9..70bbef85 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/aot/hint/OAuth2AuthorizationServerBeanRegistrationAotProcessor.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/aot/hint/OAuth2AuthorizationServerBeanRegistrationAotProcessor.java @@ -69,10 +69,10 @@ class OAuth2AuthorizationServerBeanRegistrationAotProcessor implements BeanRegis // @formatter:off if ((beanClassName.equals("org.springframework.security.oauth2.server.authorization.JdbcOAuth2AuthorizationService") || beanClassName.equals("org.springframework.security.oauth2.server.authorization.client.JdbcRegisteredClientRepository")) && - !jackson2Contributed) { + !this.jackson2Contributed) { Jackson2ConfigurationBeanRegistrationAotContribution jackson2Contribution = new Jackson2ConfigurationBeanRegistrationAotContribution(); - jackson2Contributed = true; + this.jackson2Contributed = true; return jackson2Contribution; } // @formatter:on @@ -113,7 +113,7 @@ class OAuth2AuthorizationServerBeanRegistrationAotProcessor implements BeanRegis TypeReference.of(AuthorizationGrantType.class), TypeReference.of(OAuth2AuthorizationResponseType.class), TypeReference.of(OAuth2TokenFormat.class)), - builder -> builder.withMembers(MemberCategory.DECLARED_FIELDS, + (builder) -> builder.withMembers(MemberCategory.DECLARED_FIELDS, MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS)); // Jackson Modules - Spring Security and Spring Authorization Server @@ -122,7 +122,7 @@ class OAuth2AuthorizationServerBeanRegistrationAotProcessor implements BeanRegis Arrays.asList(TypeReference.of(CoreJackson2Module.class), TypeReference.of(WebServletJackson2Module.class), TypeReference.of(OAuth2AuthorizationServerJackson2Module.class)), - builder -> builder.withMembers(MemberCategory.DECLARED_FIELDS, + (builder) -> builder.withMembers(MemberCategory.DECLARED_FIELDS, MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS)); // Jackson Mixins - Spring Security and Spring Authorization Server @@ -162,7 +162,7 @@ class OAuth2AuthorizationServerBeanRegistrationAotProcessor implements BeanRegis .of("org.springframework.security.oauth2.client.jackson2.OAuth2ClientJackson2Module"), TypeReference .of("org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken")), - builder -> builder.withMembers(MemberCategory.DECLARED_FIELDS, + (builder) -> builder.withMembers(MemberCategory.DECLARED_FIELDS, MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS)); diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/client/JdbcRegisteredClientRepository.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/client/JdbcRegisteredClientRepository.java index b521cdc7..4fe3a52f 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/client/JdbcRegisteredClientRepository.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/client/JdbcRegisteredClientRepository.java @@ -82,17 +82,6 @@ import org.springframework.util.StringUtils; @ImportRuntimeHints(JdbcRegisteredClientRepository.JdbcRegisteredClientRepositoryRuntimeHintsRegistrar.class) public class JdbcRegisteredClientRepository implements RegisteredClientRepository { - static class JdbcRegisteredClientRepositoryRuntimeHintsRegistrar implements RuntimeHintsRegistrar { - - @Override - public void registerHints(RuntimeHints hints, ClassLoader classLoader) { - hints.resources() - .registerResource(new ClassPathResource( - "org/springframework/security/oauth2/server/authorization/client/oauth2-registered-client-schema.sql")); - } - - } - // @formatter:off private static final String COLUMN_NAMES = "id, " + "client_id, " @@ -431,4 +420,15 @@ public class JdbcRegisteredClientRepository implements RegisteredClientRepositor } + static class JdbcRegisteredClientRepositoryRuntimeHintsRegistrar implements RuntimeHintsRegistrar { + + @Override + public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + hints.resources() + .registerResource(new ClassPathResource( + "org/springframework/security/oauth2/server/authorization/client/oauth2-registered-client-schema.sql")); + } + + } + } diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/oidc/converter/OidcClientRegistrationRegisteredClientConverter.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/oidc/converter/OidcClientRegistrationRegisteredClientConverter.java index ffd76019..2253bb58 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/oidc/converter/OidcClientRegistrationRegisteredClientConverter.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/oidc/converter/OidcClientRegistrationRegisteredClientConverter.java @@ -62,31 +62,35 @@ public final class OidcClientRegistrationRegisteredClientConverter builder .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST) .clientSecret(CLIENT_SECRET_GENERATOR.generateKey()); - } else if (ClientAuthenticationMethod.CLIENT_SECRET_JWT.getValue().equals(clientRegistration.getTokenEndpointAuthenticationMethod())) { + } + else if (ClientAuthenticationMethod.CLIENT_SECRET_JWT.getValue().equals(clientRegistration.getTokenEndpointAuthenticationMethod())) { builder .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_JWT) .clientSecret(CLIENT_SECRET_GENERATOR.generateKey()); - } else if (ClientAuthenticationMethod.PRIVATE_KEY_JWT.getValue().equals(clientRegistration.getTokenEndpointAuthenticationMethod())) { + } + else if (ClientAuthenticationMethod.PRIVATE_KEY_JWT.getValue().equals(clientRegistration.getTokenEndpointAuthenticationMethod())) { builder.clientAuthenticationMethod(ClientAuthenticationMethod.PRIVATE_KEY_JWT); - } else { + } + else { builder .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC) .clientSecret(CLIENT_SECRET_GENERATOR.generateKey()); } - builder.redirectUris(redirectUris -> + builder.redirectUris((redirectUris) -> redirectUris.addAll(clientRegistration.getRedirectUris())); if (!CollectionUtils.isEmpty(clientRegistration.getPostLogoutRedirectUris())) { - builder.postLogoutRedirectUris(postLogoutRedirectUris -> + builder.postLogoutRedirectUris((postLogoutRedirectUris) -> postLogoutRedirectUris.addAll(clientRegistration.getPostLogoutRedirectUris())); } if (!CollectionUtils.isEmpty(clientRegistration.getGrantTypes())) { - builder.authorizationGrantTypes(authorizationGrantTypes -> - clientRegistration.getGrantTypes().forEach(grantType -> + builder.authorizationGrantTypes((authorizationGrantTypes) -> + clientRegistration.getGrantTypes().forEach((grantType) -> authorizationGrantTypes.add(new AuthorizationGrantType(grantType)))); - } else { + } + else { builder.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE); } if (CollectionUtils.isEmpty(clientRegistration.getResponseTypes()) || @@ -95,7 +99,7 @@ public final class OidcClientRegistrationRegisteredClientConverter } if (!CollectionUtils.isEmpty(clientRegistration.getScopes())) { - builder.scopes(scopes -> + builder.scopes((scopes) -> scopes.addAll(clientRegistration.getScopes())); } @@ -109,7 +113,8 @@ public final class OidcClientRegistrationRegisteredClientConverter macAlgorithm = MacAlgorithm.HS256; } clientSettingsBuilder.tokenEndpointAuthenticationSigningAlgorithm(macAlgorithm); - } else if (ClientAuthenticationMethod.PRIVATE_KEY_JWT.getValue().equals(clientRegistration.getTokenEndpointAuthenticationMethod())) { + } + else if (ClientAuthenticationMethod.PRIVATE_KEY_JWT.getValue().equals(clientRegistration.getTokenEndpointAuthenticationMethod())) { SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.from(clientRegistration.getTokenEndpointAuthenticationSigningAlgorithm()); if (signatureAlgorithm == null) { signatureAlgorithm = SignatureAlgorithm.RS256; diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/authentication/OAuth2ErrorAuthenticationFailureHandler.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/authentication/OAuth2ErrorAuthenticationFailureHandler.java index 07c27a3a..30c9bf11 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/authentication/OAuth2ErrorAuthenticationFailureHandler.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/web/authentication/OAuth2ErrorAuthenticationFailureHandler.java @@ -20,7 +20,6 @@ import java.io.IOException; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -40,9 +39,9 @@ import org.springframework.util.Assert; * Error Response}. * * @author Dmitriy Dubson + * @since 1.2 * @see AuthenticationFailureHandler * @see OAuth2ErrorHttpMessageConverter - * @since 1.2 */ public final class OAuth2ErrorAuthenticationFailureHandler implements AuthenticationFailureHandler {