diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java b/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java index 53a4677e4efe06cb480f77aad903da2db8e5cbb3..1c8336f3c361b1eef5cd7a6e649984bb6e605c2e 100644 --- a/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java +++ b/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java @@ -30,8 +30,6 @@ import org.opengroup.osdu.notification.provider.interfaces.IServiceAccountValida import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.context.annotation.RequestScope; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; import jakarta.servlet.http.HttpServletRequest; import java.util.Arrays; @@ -53,7 +51,6 @@ public class AuthorizationFilter { private ICache<String, Groups> cache; public boolean hasAnyPermission(String... requiredRoles) { - requestInfoExt.checkHeaders(getRequest()); DpsHeaders dpsHeaders = requestInfoExt.getHeaders(); if (StringUtils.isBlank(dpsHeaders.getAuthorization())) throw new AppException(302, "Redirect", "No credentials sent on request."); @@ -62,9 +59,8 @@ public class AuthorizationFilter { requestInfoExt.assignPartitionIdIfNotInHeader(); } - HttpServletRequest request = getRequest(); - String path = request != null ? request.getServletPath() : ""; - if (request != null && "GET".equals(request.getMethod()) && + String path = request.getServletPath(); + if ("GET".equals(request.getMethod()) && (path.equals("/swagger-ui.html") || path.equals("/info"))) { return true; } @@ -116,9 +112,4 @@ public class AuthorizationFilter { requestInfoExt.setHeaders(dpsHeaders); return authorizationResponse; } - - private HttpServletRequest getRequest() { - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - return attributes != null ? attributes.getRequest() : null; - } } diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java b/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java index 51bb18d27990484ebbbf313855d124b62a8c464b..3ae35d2ce14d02069624179f9d85961b714cd7a1 100644 --- a/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java +++ b/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java @@ -68,14 +68,4 @@ public class RequestInfoExt extends RequestInfo { headers.put(DpsHeaders.DATA_PARTITION_ID, tenant); } } - - public void checkHeaders(HttpServletRequest request) { - if (request != null) { - Map<String, String> headersFromRequest = Collections - .list(request.getHeaderNames()) - .stream() - .collect(Collectors.toMap(h -> h, request::getHeader)); - this.setHeaders(DpsHeaders.createFromMap(headersFromRequest)); - } - } } diff --git a/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java b/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java index 26f748dea6d1daaf3474096431c938714514d53a..be0a5cc8af1c42e07b5102b82a3bdbc5c3dbbf3a 100644 --- a/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java +++ b/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java @@ -16,6 +16,7 @@ package org.opengroup.osdu.notification.provider.gcp; +import org.opengroup.osdu.notification.api.PubsubEndpoint; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -26,6 +27,11 @@ import org.springframework.scheduling.annotation.EnableAsync; @SpringBootApplication @ComponentScan(value = {"org.opengroup.osdu"}, excludeFilters = { + @Filter( + type = FilterType.ASSIGNABLE_TYPE, + value = { + PubsubEndpoint.class + }), @Filter( type = FilterType.REGEX, pattern = {"org.opengroup.osdu.core.gcp.multitenancy.StorageFactory"}