From 803936cfbe0af5fe25a94450f802d34181f86882 Mon Sep 17 00:00:00 2001 From: Rob Winch <362503+rwinch@users.noreply.github.com> Date: Fri, 17 Oct 2025 11:10:38 -0500 Subject: [PATCH] JacksonDelegate uses SecurityJacksonModules --- .../authorization/JdbcOAuth2AuthorizationService.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java b/oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java index eb0aa4f531..1af8933a49 100644 --- a/oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java +++ b/oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/JdbcOAuth2AuthorizationService.java @@ -36,6 +36,7 @@ import java.util.function.Function; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.Module; import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JacksonModule; import tools.jackson.databind.json.JsonMapper; import org.springframework.aot.hint.RuntimeHints; @@ -54,6 +55,7 @@ import org.springframework.jdbc.support.lob.DefaultLobHandler; import org.springframework.jdbc.support.lob.LobCreator; import org.springframework.jdbc.support.lob.LobHandler; import org.springframework.lang.Nullable; +import org.springframework.security.jackson.SecurityJacksonModules; import org.springframework.security.jackson2.SecurityJackson2Modules; import org.springframework.security.oauth2.core.AuthorizationGrantType; import org.springframework.security.oauth2.core.OAuth2AccessToken; @@ -897,11 +899,14 @@ public class JdbcOAuth2AuthorizationService implements OAuth2AuthorizationServic private final JsonMapper jsonMapper; public JacksonDelegate() { - this.jsonMapper = JsonMapper.builder().addModules(new OAuth2AuthorizationServerJacksonModule()).build(); + this(JsonMapper.builder()); } public JacksonDelegate(JsonMapper.Builder builder) { - this.jsonMapper = builder.addModules(new OAuth2AuthorizationServerJacksonModule()).build(); + List modules = SecurityJacksonModules.getModules(getClass().getClassLoader()); + this.jsonMapper = builder.addModules(modules) + .addModules(new OAuth2AuthorizationServerJacksonModule()) + .build(); } @Override