package org.gcube.common.authorization.client.proxy; import java.util.List; import java.util.Map; import org.gcube.common.authorization.client.exceptions.ObjectNotFound; import org.gcube.common.authorization.library.AuthorizationEntry; import org.gcube.common.authorization.library.enpoints.AuthorizationEndpoint; import org.gcube.common.authorization.library.policies.Policy; import org.gcube.common.authorization.library.provider.ClientInfo; import org.gcube.common.authorization.library.provider.ServiceInfo; public interface AuthorizationProxy { AuthorizationEndpoint getEndpoint(int infrastructureHash); void setEndpoint(Map endpoints); AuthorizationEntry get(String token) throws ObjectNotFound, Exception; String generateToken(ClientInfo client, String context) throws Exception; String requestActivation(ServiceInfo container, String context) throws Exception; void addPolicies(List policies) throws Exception; void removePolicies(long ... ids) throws Exception; List getPolicies(String context) throws Exception; String generateApiKey(String apiQualifier) throws Exception; }