diff --git a/pom.xml b/pom.xml
index fea26e3..b2386dd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,6 +103,10 @@
org.glassfish.jersey.containers
jersey-container-servlet
+
+ javax.ws.rs
+ javax.ws.rs-api
+
org.gcube.common
gxHTTP
diff --git a/src/main/java/org/gcube/gcat/rest/RequestFilter.java b/src/main/java/org/gcube/gcat/rest/RequestFilter.java
new file mode 100644
index 0000000..16a47a2
--- /dev/null
+++ b/src/main/java/org/gcube/gcat/rest/RequestFilter.java
@@ -0,0 +1,36 @@
+package org.gcube.gcat.rest;
+
+import java.io.IOException;
+
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.container.ContainerRequestFilter;
+import javax.ws.rs.container.ContainerResponseContext;
+import javax.ws.rs.container.ContainerResponseFilter;
+import javax.ws.rs.container.PreMatching;
+import javax.ws.rs.ext.Provider;
+
+import org.gcube.common.authorization.utils.manager.SecretManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Provider
+@PreMatching
+public class RequestFilter implements ContainerRequestFilter, ContainerResponseFilter {
+
+ private final static Logger logger = LoggerFactory.getLogger(RequestFilter.class);
+
+ @Override
+ public void filter(ContainerRequestContext requestContext) throws IOException {
+ logger.trace("PreMatching RequestFilter");
+ SecretManager.instance.remove();
+ SecretManager.instance.get();
+ }
+
+ @Override
+ public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
+ throws IOException {
+ logger.trace("ResponseFilter");
+ SecretManager.instance.remove();
+ }
+
+}