diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java b/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java index 89afc90f363..815892ad4ce 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java @@ -60,7 +60,6 @@ import org.jdbi.v3.core.statement.StatementContext; import org.jdbi.v3.sqlobject.SqlObjects; import org.openmetadata.schema.api.security.AuthenticationConfiguration; import org.openmetadata.schema.api.security.AuthorizerConfiguration; -import org.openmetadata.schema.api.security.jwt.JWTTokenConfiguration; import org.openmetadata.service.elasticsearch.ElasticSearchEventPublisher; import org.openmetadata.service.events.EventFilter; import org.openmetadata.service.events.EventPubSub; @@ -274,16 +273,15 @@ public class OpenMetadataApplication extends Application EXCLUDED_ENDPOINTS = List.of( "v1/config", @@ -80,9 +78,7 @@ public class JwtFilter implements ContainerRequestFilter { @SneakyThrows public JwtFilter( - AuthenticationConfiguration authenticationConfiguration, - AuthorizerConfiguration authorizerConfiguration, - JWTTokenConfiguration jwtTokenConfiguration) { + AuthenticationConfiguration authenticationConfiguration, AuthorizerConfiguration authorizerConfiguration) { this.providerType = authenticationConfiguration.getProvider(); this.jwtPrincipalClaims = authenticationConfiguration.getJwtPrincipalClaims(); @@ -93,7 +89,6 @@ public class JwtFilter implements ContainerRequestFilter { this.jwkProvider = new MultiUrlJwkProvider(publicKeyUrlsBuilder.build()); this.principalDomain = authorizerConfiguration.getPrincipalDomain(); this.enforcePrincipalDomain = authorizerConfiguration.getEnforcePrincipalDomain(); - this.storedJwtKeyId = jwtTokenConfiguration != null ? jwtTokenConfiguration.getKeyId() : StringUtils.EMPTY; } @VisibleForTesting @@ -134,17 +129,7 @@ public class JwtFilter implements ContainerRequestFilter { String userName = validateAndReturnUsername(claims); // validate bot token - boolean isBot = claims.containsKey(BOT_CLAIM) && Boolean.TRUE.equals(claims.get(BOT_CLAIM).asBoolean()); - - // if other sso and we have OM Jwt Token configuration as well - if ((!providerType.equals(SSOAuthMechanism.SsoServiceType.BASIC.toString()))) { - // check if the jwtId for the token used is from the jwtTokenConfig - if (storedJwtKeyId.equals(jwt.getKeyId()) && !isBot) { - throw new AuthenticationException("Not Authorized! , Invalid Key Id used for login"); - } - } - - if (isBot) { + if (claims.containsKey(BOT_CLAIM) && Boolean.TRUE.equals(claims.get(BOT_CLAIM).asBoolean())) { validateBotToken(tokenFromHeader, userName); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/security/NoopFilter.java b/openmetadata-service/src/main/java/org/openmetadata/service/security/NoopFilter.java index c82b7efe794..9f56a4273b1 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/security/NoopFilter.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/security/NoopFilter.java @@ -21,7 +21,6 @@ import javax.ws.rs.core.UriInfo; import lombok.extern.slf4j.Slf4j; import org.openmetadata.schema.api.security.AuthenticationConfiguration; import org.openmetadata.schema.api.security.AuthorizerConfiguration; -import org.openmetadata.schema.api.security.jwt.JWTTokenConfiguration; import org.openmetadata.service.security.auth.CatalogSecurityContext; @Slf4j @@ -29,9 +28,7 @@ public class NoopFilter implements ContainerRequestFilter { @Context private UriInfo uriInfo; public NoopFilter( - AuthenticationConfiguration authenticationConfiguration, - AuthorizerConfiguration authorizerConfiguration, - JWTTokenConfiguration jwtTokenConfiguration) {} + AuthenticationConfiguration authenticationConfiguration, AuthorizerConfiguration authorizerConfiguration) {} public void filter(ContainerRequestContext containerRequestContext) { CatalogPrincipal catalogPrincipal = new CatalogPrincipal("anonymous"); diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/socket/SocketAddressFilter.java b/openmetadata-service/src/main/java/org/openmetadata/service/socket/SocketAddressFilter.java index d06f36dcb76..35d581744fe 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/socket/SocketAddressFilter.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/socket/SocketAddressFilter.java @@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.openmetadata.schema.api.security.AuthenticationConfiguration; import org.openmetadata.schema.api.security.AuthorizerConfiguration; -import org.openmetadata.schema.api.security.jwt.JWTTokenConfiguration; import org.openmetadata.service.security.JwtFilter; @Slf4j @@ -39,12 +38,10 @@ public class SocketAddressFilter implements Filter { private final boolean enableSecureSocketConnection; public SocketAddressFilter( - AuthenticationConfiguration authenticationConfiguration, - AuthorizerConfiguration authorizerConf, - JWTTokenConfiguration jwtTokenConfiguration) { + AuthenticationConfiguration authenticationConfiguration, AuthorizerConfiguration authorizerConf) { enableSecureSocketConnection = authorizerConf.getEnableSecureSocketConnection(); if (enableSecureSocketConnection) { - jwtFilter = new JwtFilter(authenticationConfiguration, authorizerConf, jwtTokenConfiguration); + jwtFilter = new JwtFilter(authenticationConfiguration, authorizerConf); } }