diff --git a/perun-oidc-server/pom.xml b/perun-oidc-server/pom.xml index 81a907cf1..4e261b25f 100644 --- a/perun-oidc-server/pom.xml +++ b/perun-oidc-server/pom.xml @@ -128,8 +128,12 @@ jaxb-runtime - jakarta.servlet - jakarta.servlet-api + org.glassfish + javax.servlet + + + org.glassfish.web + jakarta.servlet.jsp.jstl org.apache.directory.api @@ -139,6 +143,10 @@ ch.qos.logback logback-classic + + ch.qos.logback + logback-core + org.aspectj aspectjweaver @@ -147,6 +155,10 @@ org.projectlombok lombok + + javax.persistence + javax.persistence-api + diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/mdc/MultiMDCFilter.java b/perun-oidc-server/src/main/java/cz/muni/ics/mdc/MultiMDCFilter.java index 0c3a1ce7e..e9f0c22ed 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/mdc/MultiMDCFilter.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/mdc/MultiMDCFilter.java @@ -1,7 +1,8 @@ package cz.muni.ics.mdc; -import java.io.IOException; + import javax.servlet.FilterChain; +import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -18,12 +19,12 @@ public class MultiMDCFilter extends GenericFilterBean { public MultiMDCFilter() { this.remoteAddressMDCFilter = new RemoteAddressMDCFilter(); this.sessionIdMDCFilter = new SessionIdMDCFilter(); - log.info("--- Initialized MultiMDCFilter ---"); + log.info("--- Initialized MultiMDCFilter ---"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) - throws IOException, ServletException + throws ServletException, IOException { remoteAddressMDCFilter.doFilter(servletRequest); sessionIdMDCFilter.doFilter(servletRequest); diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/PerunOIDCTokenService.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/PerunOIDCTokenService.java index 7f148306d..a7cd247fa 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/PerunOIDCTokenService.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/PerunOIDCTokenService.java @@ -3,6 +3,7 @@ package cz.muni.ics.oidc.server; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonPrimitive; +import com.nimbusds.jose.shaded.json.JSONArray; import com.nimbusds.jose.util.JSONObjectUtils; import com.nimbusds.jwt.JWTClaimsSet; import cz.muni.ics.oauth2.model.ClientDetailsEntity; @@ -15,7 +16,6 @@ import java.text.ParseException; import java.util.Map; import java.util.Set; import lombok.extern.slf4j.Slf4j; -import net.minidev.json.JSONArray; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.oauth2.provider.OAuth2Request; diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/service/impl/DefaultOIDCTokenService.java b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/service/impl/DefaultOIDCTokenService.java index 2a06b47c1..b3ae6cd1e 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/service/impl/DefaultOIDCTokenService.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/service/impl/DefaultOIDCTokenService.java @@ -25,6 +25,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.nimbusds.jose.Algorithm; +import com.nimbusds.jose.JOSEObjectType; import com.nimbusds.jose.JWEHeader; import com.nimbusds.jose.JWEObject; import com.nimbusds.jose.JWSAlgorithm; @@ -59,7 +60,6 @@ import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.oauth2.provider.OAuth2Authentication; import org.springframework.security.oauth2.provider.OAuth2Request; -import org.springframework.stereotype.Service; /** * Default implementation of service to create specialty OpenID Connect tokens. * @@ -140,7 +140,7 @@ public class DefaultOIDCTokenService implements OIDCTokenService { if (responseTypes.contains("token")) { // calculate the token hash Base64URL at_hash = IdTokenHashUtils.getAccessTokenHash(signingAlg, accessToken); - idClaims.claim("at_hash", at_hash); + idClaims.claim("at_hash", at_hash.toString()); } addCustomIdTokenClaims(idClaims, client, request, sub, accessToken); @@ -166,7 +166,6 @@ public class DefaultOIDCTokenService implements OIDCTokenService { if (signingAlg.equals(Algorithm.NONE)) { // unsigned ID token idToken = new PlainJWT(idClaims.build()); - } else { // signed ID token @@ -175,7 +174,7 @@ public class DefaultOIDCTokenService implements OIDCTokenService { || signingAlg.equals(JWSAlgorithm.HS384) || signingAlg.equals(JWSAlgorithm.HS512)) { - JWSHeader header = new JWSHeader(signingAlg, null, null, null, null, null, null, null, null, null, + JWSHeader header = new JWSHeader(signingAlg, JOSEObjectType.JWT, null, null, null, null, null, null, null, null, jwtService.getDefaultSignerKeyId(), null, null); idToken = new SignedJWT(header, idClaims.build()); @@ -187,7 +186,7 @@ public class DefaultOIDCTokenService implements OIDCTokenService { } else { idClaims.claim("kid", jwtService.getDefaultSignerKeyId()); - JWSHeader header = new JWSHeader(signingAlg, null, null, null, null, null, null, null, null, null, + JWSHeader header = new JWSHeader(signingAlg, JOSEObjectType.JWT, null, null, null, null, null, null, null, null, jwtService.getDefaultSignerKeyId(), null, null); diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/ClientAPI.java b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/ClientAPI.java index be3e8a6e3..fe402b3b8 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/ClientAPI.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/ClientAPI.java @@ -568,7 +568,7 @@ public class ClientAPI { newClient.setJwksUri(claimSet.getStringClaim(claim)); break; case JWKS: - newClient.setJwks(JWKSet.parse(claimSet.getJSONObjectClaim(claim).toJSONString())); + newClient.setJwks(JWKSet.parse(claimSet.getJSONObjectClaim(claim))); break; case POLICY_URI: newClient.setPolicyUri(claimSet.getStringClaim(claim)); diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/DynamicClientRegistrationEndpoint.java b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/DynamicClientRegistrationEndpoint.java index d6e78e6b5..dfc335213 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/DynamicClientRegistrationEndpoint.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/DynamicClientRegistrationEndpoint.java @@ -681,7 +681,7 @@ public class DynamicClientRegistrationEndpoint { newClient.setJwksUri(claimSet.getStringClaim(claim)); break; case JWKS: - newClient.setJwks(JWKSet.parse(claimSet.getJSONObjectClaim(claim).toJSONString())); + newClient.setJwks(JWKSet.parse(claimSet.getJSONObjectClaim(claim))); break; case POLICY_URI: newClient.setPolicyUri(claimSet.getStringClaim(claim)); diff --git a/pom.xml b/pom.xml index 9406f3c3b..dfccfc34a 100644 --- a/pom.xml +++ b/pom.xml @@ -82,27 +82,28 @@ 42.3.1 8.0.27 - 2.5.2 + 2.6.1 2.7.4 - 3.4.5 - 4.3.1 + 5.0.0 + 4.3.1 ${shedlock.version} ${shedlock.version} - 1.2.6 - 4.0.4 + 3.1.1 + 1.2.6 + 2.2 2.7.9 ${eclipse-persistence.version} ${eclipse-persistence.version} - 2.1.0 + 2.1.0 - 1.2.7 + 1.2.7 4.13.2 @@ -112,7 +113,7 @@ 31.0.1-jre 2.8.9 4.5.13 - 8.23 + 9.15.2 1.3.2 2.3.3 1.9.7 @@ -176,16 +177,14 @@ - jakarta.servlet - jakarta.servlet-api - ${jakarta-servlet-api.version} - provided + org.glassfish + javax.servlet + ${glassfish-servlet.version} - org.glassfish.web jakarta.servlet.jsp.jstl - ${jakarta-jstl.version} + ${glassfish-jstl.version} @@ -209,6 +208,12 @@ com.zaxxer HikariCP ${hikari.version} + + + org.slf4j + slf4j-api + + org.mariadb.jdbc @@ -227,6 +232,12 @@ + + + javax.persistence + javax.persistence-api + ${javax-persistence-api.version} + org.eclipse.persistence org.eclipse.persistence.core @@ -256,13 +267,12 @@ ch.qos.logback logback-classic - ${logback.verison} - - - org.slf4j - slf4j-api - - + ${logback.version} + + + ch.qos.logback + logback-core + ${logback.version} @@ -315,7 +325,7 @@ org.apache.directory.api api-all - ${apache-directory-api.version} + ${apache-ldap-api-all.version} @@ -342,6 +352,10 @@ org.apache.maven.plugins maven-compiler-plugin 3.8.1 + + ${java.version} + ${java.version} + org.appfuse.plugins @@ -366,10 +380,6 @@ org.apache.maven.plugins maven-compiler-plugin - - ${java.version} - ${java.version} -