This repository has been archived on 2023-01-25. You can view files and clone it, but cannot push or open issues or pull requests.
catalogue-ws/src/main/java/org/gcube/datacatalogue/catalogue/utils/ContextUtils.java

40 lines
1.1 KiB
Java

package org.gcube.datacatalogue.catalogue.utils;
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
import org.gcube.common.authorization.library.ClientType;
import org.gcube.common.authorization.library.provider.AuthorizationProvider;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
/**
* @author Luca Frosini (ISTI - CNR)
*/
public class ContextUtils {
private ContextUtils(){}
public static String getContext() throws ObjectNotFound, Exception {
String context = ScopeProvider.instance.get();
if (context == null) {
String token = SecurityTokenProvider.instance.get();
try {
return org.gcube.common.authorization.client.Constants.authorizationService().get(token).getContext();
}catch (Exception e) {
new RuntimeException(e);
}
}
return context;
}
public static String getUsername() {
return AuthorizationProvider.instance.get().getClient().getId();
}
public static boolean isApplication() {
return AuthorizationProvider.instance.get().getClient().getType().equals(ClientType.EXTERNALSERVICE);
}
}