41 lines
1.3 KiB
Java
41 lines
1.3 KiB
Java
package org.gcube.datatransfer.resolver.requesthandler;
|
|
|
|
import java.io.IOException;
|
|
|
|
import javax.servlet.ServletContext;
|
|
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.core.Context;
|
|
import javax.ws.rs.ext.Provider;
|
|
|
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
|
import org.gcube.common.scope.api.ScopeProvider;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
@Provider
|
|
public class TokenSetter implements ContainerRequestFilter, ContainerResponseFilter {
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(TokenSetter.class);
|
|
|
|
@Context ServletContext context;
|
|
|
|
@Override
|
|
public void filter(ContainerRequestContext ctx) throws IOException {
|
|
log.info("TokenSetter Request called");
|
|
SecurityTokenProvider.instance.set(context.getInitParameter("root-app-token"));
|
|
ScopeProvider.instance.set(context.getInitParameter("root-scope"));
|
|
}
|
|
|
|
@Override
|
|
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
|
|
throws IOException {
|
|
log.info("TokenSetter Response called");
|
|
SecurityTokenProvider.instance.reset();
|
|
ScopeProvider.instance.reset();
|
|
|
|
}
|
|
} |