* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
public static RosettaDF<Introspect> introspectDF;
private final TokenPermLoader tpLoader;
-
+
private TokenMgr(PropAccess access, String tokenURL, String introspectURL) throws APIException, CadiException {
super(access,new RosettaEnv(access.getProperties()),Introspect.class,"introspect");
synchronized(access) {
}
return tm;
}
-
+
public Result<OAuth2Principal> toPrincipal(final String accessToken, final byte[] hash) throws APIException, CadiException, LocatorException {
Result<TokenPerm> tp = get(accessToken, hash, new Loader<TokenPerm>() {
@Override
return Result.err(tp);
}
}
-
+
public Result<TokenPerm> get(final String accessToken, final byte[] hash) throws APIException, CadiException, LocatorException {
return get(accessToken,hash,new Loader<TokenPerm>() {
@Override
public Result<TokenPerm> load(String key) throws APIException, CadiException, LocatorException {
return tpLoader.load(key,hash);
}
-
+
});
// return tpLoader.load(accessToken,hash);
}
public interface TokenPermLoader{
public Result<TokenPerm> load(final String accessToken, final byte[] cred) throws APIException, CadiException, LocatorException;
}
-
+
private class RemoteTokenPermLoader implements TokenPermLoader {
private TokenClientFactory tcf;
private TokenClient tokenCL, introCL;
try {
tcf = TokenClientFactory.instance(access);
int timeout = Integer.parseInt(access.getProperty(Config.AAF_CONN_TIMEOUT, Config.AAF_CONN_TIMEOUT_DEF));
- tokenCL = tcf.newClient(tokenURL,
+ tokenCL = tcf.newClient(tokenURL,
timeout);
if (introspectURL.equals(tokenURL)) {
introCL = tokenCL;
} else {
- introCL = tcf.newClient(introspectURL,
+ introCL = tcf.newClient(introspectURL,
timeout);
}
throw new CadiException(e);
}
}
-
+
public Result<TokenPerm> load(final String accessToken, final byte[] cred) throws APIException, CadiException, LocatorException {
long start = System.currentTimeMillis();
try {