diff --git a/commandline/pom.xml b/commandline/pom.xml
index 57016eb63..16370e614 100644
--- a/commandline/pom.xml
+++ b/commandline/pom.xml
@@ -71,7 +71,6 @@
com.fasterxml.jackson.core
jackson-core
- 2.21.4
diff --git a/generate/pom.xml b/generate/pom.xml
index 0c60d5ab1..d407af1c1 100644
--- a/generate/pom.xml
+++ b/generate/pom.xml
@@ -60,7 +60,6 @@
com.fasterxml.jackson.core
jackson-core
- 2.21.4
diff --git a/pom.xml b/pom.xml
index fedbc8795..7e616fdab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,12 +12,12 @@
21
1.12.797
- 5.11.4
- 1.11.4
- 0.10.7
- 6.2.19
- 6.5.11
- 10.1.55
+ 6.0.1
+ 6.0.1
+ 0.12.6
+7.0.8
+ 7.0.5
+ 11.0.23
0.90
verify
@@ -252,13 +252,7 @@
com.fasterxml.jackson.core
jackson-databind
- 2.21.4
-
-
-
- com.fasterxml.jackson.dataformat
- jackson-dataformat-xml
- 2.21.4
+ 2.21.5
@@ -472,43 +466,19 @@
ch.qos.logback
logback-classic
- 1.5.25
+ 1.5.36
ch.qos.logback
logback-core
- 1.5.25
+ 1.5.36
org.springdoc
- springdoc-openapi-ui
- 1.7.0
-
-
-
- org.springframework.security
- spring-security-jwt
- 1.1.0.RELEASE
-
-
- org.springframework.security
- spring-security-web
-
-
- org.bouncycastle
- bcprov-jdk15on
-
-
- org.bouncycastle
- bcprov-jdk15to18
-
-
- org.bouncycastle
- bcprov-jdk18on
-
-
+ springdoc-openapi-starter-webmvc-ui
+ 2.8.3
@@ -586,20 +556,31 @@
net.logstash.logback
logstash-logback-encoder
- 8.1
-
-
-
- com.jcabi
- jcabi-manifests
- 1.1
-
-
-
- org.junit.jupiter
- junit-jupiter-api
- ${junit.version}
-
+ 9.0
+
+
+
+
+ tools.jackson.core
+ jackson-core
+ 3.1.4
+
+
+ tools.jackson.core
+ jackson-databind
+ 3.1.5
+
+
+ tools.jackson.core
+ jackson-annotations
+ 3.1.4
+
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ ${junit.version}
+
net.jodah
diff --git a/rest-api/pom.xml b/rest-api/pom.xml
index 837b66fdc..a09a2b263 100644
--- a/rest-api/pom.xml
+++ b/rest-api/pom.xml
@@ -35,9 +35,10 @@
${spring.framework.version}
managed-by-boot-bom
-
- 5.11.4
- 1.11.4
+
+ 6.0.1
+ 6.0.1
5.5.2
4.0.28
2.2
@@ -45,7 +46,7 @@
6.1.0
- 6.5.11
+ 7.0.5
2.0.13
@@ -60,7 +61,7 @@
org.springframework.boot
spring-boot-maven-plugin
- 3.5.15
+ 4.0.6
repackage
@@ -177,40 +178,28 @@
+
- org.springframework.security
- spring-security-bom
- ${spring.security.version}
+ org.springframework
+ spring-framework-bom
+ ${spring-framework.version}
pom
import
- org.springframework.boot
- spring-boot-dependencies
- 3.5.15
+ org.springframework.security
+ spring-security-bom
+ ${spring.security.version}
pom
import
-
-
- org.springframework
- spring-webmvc
- ${spring-framework.version}
-
-
- org.springframework
- spring-beans
- ${spring-framework.version}
-
-
-
- org.springframework
- spring-framework-bom
- ${spring-framework.version}
+ org.springframework.boot
+ spring-boot-dependencies
+ 4.0.6
pom
import
@@ -271,21 +260,7 @@
org.springdoc
- springdoc-openapi-ui
-
-
-
-
- org.springframework.plugin
- spring-plugin-core
- 1.2.0.RELEASE
-
- org.springframeworkspring-beans
- org.springframeworkspring-core
- org.springframeworkspring-context
- org.springframeworkspring-aop
- org.springframeworkspring-expression
-
+ springdoc-openapi-starter-webmvc-ui
@@ -321,10 +296,12 @@
org.springframeworkspring-core${spring-framework.version}
org.springframeworkspring-expression${spring-framework.version}
+ org.springframeworkspring-context${spring-framework.version}
+ org.springframeworkspring-beans${spring-framework.version}
org.springframework.retryspring-retry
- com.jcabijcabi-manifests
+ com.jcabijcabi-manifests1.1
com.amazonawsaws-java-sdk-core
diff --git a/rest-api/src/main/java/gov/cms/qpp/conversion/api/RestApiApplication.java b/rest-api/src/main/java/gov/cms/qpp/conversion/api/RestApiApplication.java
index a5aefd18c..7298d1212 100644
--- a/rest-api/src/main/java/gov/cms/qpp/conversion/api/RestApiApplication.java
+++ b/rest-api/src/main/java/gov/cms/qpp/conversion/api/RestApiApplication.java
@@ -1,12 +1,7 @@
package gov.cms.qpp.conversion.api;
-import org.apache.catalina.connector.Connector;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
-import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
-import org.springframework.context.annotation.Bean;
/**
* Application to be ran
diff --git a/rest-api/src/main/java/gov/cms/qpp/conversion/api/config/SecurityConfig.java b/rest-api/src/main/java/gov/cms/qpp/conversion/api/config/SecurityConfig.java
index 51a2cb41e..2adabe00a 100644
--- a/rest-api/src/main/java/gov/cms/qpp/conversion/api/config/SecurityConfig.java
+++ b/rest-api/src/main/java/gov/cms/qpp/conversion/api/config/SecurityConfig.java
@@ -33,7 +33,7 @@ public class SecurityConfig {
protected String rtiOrgName;
@Bean
- public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
+ public SecurityFilterChain filterChain(HttpSecurity http) {
http.securityMatcher(PCF_WILDCARD)
.authorizeHttpRequests(auth -> auth.anyRequest().authenticated())
.csrf(csrf -> csrf.disable())
diff --git a/rest-api/src/main/java/gov/cms/qpp/conversion/api/security/JwtAuthorizationFilter.java b/rest-api/src/main/java/gov/cms/qpp/conversion/api/security/JwtAuthorizationFilter.java
index 05c109f36..f7a2e41db 100644
--- a/rest-api/src/main/java/gov/cms/qpp/conversion/api/security/JwtAuthorizationFilter.java
+++ b/rest-api/src/main/java/gov/cms/qpp/conversion/api/security/JwtAuthorizationFilter.java
@@ -1,14 +1,16 @@
package gov.cms.qpp.conversion.api.security;
-import io.jsonwebtoken.Claims;
-import io.jsonwebtoken.Jwts;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
+import java.util.Base64;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
@@ -63,19 +65,31 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
chain.doFilter(request, response);
}
+ /** Reusable Jackson mapper for JWT payload decoding. */
+ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+ private static final TypeReference