31 lines
989 B
Java
31 lines
989 B
Java
package org.gcube.common.clients.stubs.jaxws.handlers;
|
|
|
|
import javax.xml.namespace.QName;
|
|
import javax.xml.soap.SOAPHeader;
|
|
import javax.xml.ws.handler.soap.SOAPMessageContext;
|
|
|
|
import org.gcube.common.clients.stubs.jaxws.GCoreService;
|
|
import org.gcube.common.security.providers.SecretManagerProvider;
|
|
import org.gcube.common.security.secrets.Secret;
|
|
|
|
public class AuthorizationHandler extends AbstractHandler {
|
|
|
|
/** Namespace of scope-related headers */
|
|
public static final String SCOPE_NS = "http://gcube-system.org/namespaces/scope";
|
|
|
|
/** Name of the scope call header. */
|
|
public static final String SCOPE_HEADER_NAME = "scope";
|
|
public static final QName SCOPE_QNAME = new QName(SCOPE_NS,SCOPE_HEADER_NAME);
|
|
|
|
|
|
@Override
|
|
public void handleRequest(GCoreService<?> target, SOAPHeader header, SOAPMessageContext context) throws Exception {
|
|
Secret secret = SecretManagerProvider.instance.get();
|
|
if (secret!= null)
|
|
addHeader(header,SCOPE_QNAME, secret.getContext());
|
|
}
|
|
|
|
|
|
}
|
|
|