private static void startShibbolethSNAA( String path, String prefix, String secretKeyURL, IUserAuthorization authorization, Injector injector, ShibbolethProxy shibbolethProxy) { log.debug( "Starting Shibboleth SNAA, path [" + path + "], prefix[" + prefix + "], secretKeyURL[" + secretKeyURL + "]"); Set<String> prefixes = new HashSet<String>(); prefixes.add(prefix); ShibbolethSNAAImpl shibSnaa = new ShibbolethSNAAImpl(prefixes, secretKeyURL, authorization, injector, shibbolethProxy); HttpContext context = server.createContext(path); Endpoint endpoint = Endpoint.create(shibSnaa); endpoint.publish(context); log.debug("Started shibboleth SNAA on " + server.getAddress() + path); }
private static Set<String> parseCSV(String str) { String[] split = str.split(","); Set<String> trimmedSplit = new HashSet<String>(); for (String string : split) { trimmedSplit.add(string.trim()); } return trimmedSplit; }
protected Map<String, Set<AuthenticationTriple>> getIntersectionPrefixSetAT( List<AuthenticationTriple> authenticationData) throws SNAAExceptionException { if (authenticationData == null) { throw createSNAAException("Argument authenticationData must not be null!"); } // WS Endpoint URL -> Set<URN Prefixes> for intersection of authenticationData Map<String, Set<AuthenticationTriple>> intersectionPrefixSet = new HashMap<String, Set<AuthenticationTriple>>(); for (AuthenticationTriple authenticationTriple : authenticationData) { for (Entry<String, Set<String>> entry : prefixSet.entrySet()) { if (entry.getValue().contains(authenticationTriple.getUrnPrefix())) { Set<AuthenticationTriple> set = intersectionPrefixSet.get(authenticationTriple.getUrnPrefix()); if (set == null) { set = new HashSet<AuthenticationTriple>(); intersectionPrefixSet.put(entry.getKey(), set); } set.add(authenticationTriple); } } // check if federator federates the urn prefix found in the authentication triple boolean found = false; for (Set<AuthenticationTriple> triples : intersectionPrefixSet.values()) { for (AuthenticationTriple triple : triples) { if (triple.getUrnPrefix().equals(authenticationTriple.getUrnPrefix())) { found = true; } } } if (!found) { throw createSNAAException( "No endpoint known for URN prefix " + authenticationTriple.getUrnPrefix()); } } return intersectionPrefixSet; }
protected Map<String, Set<SecretAuthenticationKey>> getIntersectionPrefixSetSAK( List<SecretAuthenticationKey> authenticationKeys) throws SNAAExceptionException { // WS Endpoint URL -> Set<URN Prefixes> for intersection of // authenticationData Map<String, Set<SecretAuthenticationKey>> intersectionPrefixSet = new HashMap<String, Set<SecretAuthenticationKey>>(); for (SecretAuthenticationKey secretAuthenticationKey : authenticationKeys) { for (Entry<String, Set<String>> entry : prefixSet.entrySet()) { if (entry.getValue().contains(secretAuthenticationKey.getUrnPrefix())) { Set<SecretAuthenticationKey> set = intersectionPrefixSet.get(secretAuthenticationKey.getUrnPrefix()); if (set == null) { set = new HashSet<SecretAuthenticationKey>(); intersectionPrefixSet.put(secretAuthenticationKey.getUrnPrefix(), set); } set.add(secretAuthenticationKey); } } // check if federator federates the urn prefix found in the authentication triple boolean found = false; for (Set<SecretAuthenticationKey> triples : intersectionPrefixSet.values()) { for (SecretAuthenticationKey triple : triples) { if (triple.getUrnPrefix().equals(secretAuthenticationKey.getUrnPrefix())) { found = true; } } } if (!found) { throw createSNAAException( "No endpoint known for URN prefix " + secretAuthenticationKey.getUrnPrefix()); } } return intersectionPrefixSet; }