diff --git a/mcp-server-security/src/main/java/org/springaicommunity/mcp/security/server/config/McpServerOAuth2Configurer.java b/mcp-server-security/src/main/java/org/springaicommunity/mcp/security/server/config/McpServerOAuth2Configurer.java index 86fbc84..8134196 100644 --- a/mcp-server-security/src/main/java/org/springaicommunity/mcp/security/server/config/McpServerOAuth2Configurer.java +++ b/mcp-server-security/src/main/java/org/springaicommunity/mcp/security/server/config/McpServerOAuth2Configurer.java @@ -54,6 +54,8 @@ public class McpServerOAuth2Configurer extends AbstractHttpConfigurer { - resourceServer.jwt(jwt -> jwt.decoder(getJwtDecoder(http))); + resourceServer.jwt(jwt -> jwt.decoder(jwtDecoder)); resourceServer.authenticationEntryPoint(entryPoint); }) .addFilterBefore(protectedResourceMetadataEndpointFilter, AbstractPreAuthenticatedProcessingFilter.class); //@formatter:on } - private JwtDecoder getJwtDecoder(HttpSecurity http) { - var decoder = NimbusJwtDecoder.withIssuerLocation(this.issuerUri).build(); + private JwtDecoder buildJwtDecoder() { + var decoder = this.decoder != null + ? this.decoder + : NimbusJwtDecoder.withIssuerLocation(this.issuerUri).build(); if (this.validateAudienceClaim) { OAuth2TokenValidator jwtValidator = JwtValidators