69 lines
2.5 KiB
Java
69 lines
2.5 KiB
Java
package org.gcube.authorization;
|
|
|
|
import static org.gcube.common.authorization.client.Constants.authorizationService;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import org.gcube.common.authorization.client.Constants;
|
|
import org.gcube.common.authorization.library.AuthorizationEntry;
|
|
import org.gcube.common.authorization.library.provider.ClientInfo;
|
|
import org.gcube.common.authorization.library.provider.ContainerInfo;
|
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
|
import org.gcube.common.authorization.library.provider.UserInfo;
|
|
import org.junit.Test;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/**
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
*/
|
|
public class ContextAuthorizationTest extends ContextTest {
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(ContextAuthorizationTest.class);
|
|
|
|
@Test
|
|
public void getInfo() throws Exception {
|
|
ContextTest.setContext("");
|
|
}
|
|
|
|
@Test
|
|
public void generateApplicationToken() throws Exception {
|
|
ContextTest.setContext(ROOT);
|
|
|
|
String context = "/d4science.research-infrastructures.eu/D4Research/AGINFRAplusDev";
|
|
UserInfo userInfo = new UserInfo("luca.frosini",new ArrayList<>());
|
|
String userToken = authorizationService().generateUserToken(userInfo, context);
|
|
SecurityTokenProvider.instance.set(userToken);
|
|
|
|
String applicationName = "ScienceCatalogue";
|
|
String generatedToken = authorizationService().generateExternalServiceToken(applicationName);
|
|
|
|
logger.trace("Application Token for application {} in Context {} is {}", applicationName,
|
|
ContextUtility.getCurrentContext(), generatedToken);
|
|
|
|
}
|
|
|
|
@Test
|
|
public void generateHostToken() throws Exception {
|
|
String currentContext = ContextUtility.getCurrentContext();
|
|
String host = "pc-frosini.isti.cnr.it";
|
|
int port = 8080;
|
|
|
|
ContainerInfo containerInfo = new ContainerInfo(host, port);
|
|
String tokenNode = authorizationService().requestActivation(containerInfo, currentContext);
|
|
|
|
logger.trace("Token for Context {} for host {}:{} is {}", currentContext, host, port, tokenNode);
|
|
|
|
}
|
|
|
|
@Test
|
|
public void generateUserToken() throws Exception {
|
|
String currentContext = ContextUtility.getCurrentContext();
|
|
AuthorizationEntry authorizationEntry = Constants.authorizationService().get(SecurityTokenProvider.instance.get());
|
|
UserInfo userInfo = (UserInfo) authorizationEntry.getClientInfo();
|
|
String tokenNode = authorizationService().generateUserToken(userInfo, currentContext);
|
|
logger.trace("Token for Context {} for {} is {}", currentContext, userInfo.getId(), tokenNode);
|
|
}
|
|
|
|
}
|