This commit is contained in:
Lucio Lelii 2016-10-04 13:00:12 +00:00
parent 202183e928
commit 93101b776f
3 changed files with 85 additions and 21 deletions

View File

@ -38,10 +38,14 @@ public class Utils {
}
protected static String getRealToken(String token) {
try{
Pattern pattern = Pattern.compile(REAL_TOKEN_REGEXPR);
Matcher matcher = pattern.matcher(token);
matcher.find();
String realToken = matcher.group(1);
return realToken;
}catch(Exception e){
throw new RuntimeException("token required for this method", e);
}
}
}

View File

@ -20,7 +20,7 @@ public class CallTest {
@Test
public void resolveNodeToken() throws Exception{
System.out.println(resolveToken("36501a0d-a205-4bf1-87ad-4c7185faa0d6")); //81caac0f-8a0d-4923-9312-7ff0eb3f2d5e|98187548"));
System.out.println(resolveToken("d7a6b96b-97eb-40fd-96ff-c8e5f37a91c7-98187548")); //81caac0f-8a0d-4923-9312-7ff0eb3f2d5e|98187548"));
}
@Test
@ -49,11 +49,15 @@ public class CallTest {
authorizationService().removePolicies(2, 3, 4);
}
@Test
public void requestToken() throws Exception{
System.out.println(authorizationService().generateUserToken(new UserInfo("andrea.dellamico", new ArrayList<String>()), "/gcube"));
}
@Test(expected=RuntimeException.class)
public void createKeyWithError() throws Exception {
authorizationService().generateApiKey("TEST");
}
/*
/*
@Test
public void getSymmKey() throws Exception{
SecurityTokenProvider.instance.set(_requestNodeToken());
@ -80,6 +84,7 @@ public class CallTest {
}
public String _requestNodeToken() throws Exception {
SecurityTokenProvider.instance.set(requestTestToken("/gcube"));
String token = authorizationService().requestActivation(new ContainerInfo("mynode",8080), "/gcube/devSec");
return token;
}

View File

@ -0,0 +1,55 @@
package org.gcube.common.authorizationservice.cl;
import static org.gcube.common.authorization.client.Constants.authorizationService;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.gcube.common.authorization.client.proxy.AuthorizationProxy;
import org.gcube.common.authorization.library.provider.ContainerInfo;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
public class TokenGenerator {
//call with parameters : token host port filePath scope1 ... scopeN
public static void main(String[] args) {
String host = args[0];
String adminToken = args[1];
int port = Integer.parseInt(args[2]);
File file = new File(args[3]);
try {
file.createNewFile();
} catch (IOException e1) {
System.out.println("error creating file "+file.getAbsolutePath());
e1.printStackTrace();
}
ContainerInfo containerInfo = new ContainerInfo(host, port);
AuthorizationProxy proxy = authorizationService();
try(FileWriter fw = new FileWriter(file)){
for (int index =4; index<args.length; index++ ){
SecurityTokenProvider.instance.set(adminToken);
try {
String token = proxy.requestActivation(containerInfo, args[index] );
fw.write("<token>"+token+"</token>");
} catch (Exception e) {
System.out.println("error generating token for context "+args[index]);
e.printStackTrace();
} finally{
SecurityTokenProvider.instance.reset();
}
}
} catch (Exception e) {
System.out.println("error writing file "+file.getAbsolutePath());
e.printStackTrace();
}
}
}