...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<DataConnector id="myHTTP" xsi:type="HTTP" httpClientRef="WebServiceHttpClient" httpClientSecurityParametersRef="ExampleOrgWSSecurity"> <URLTemplate> <![CDATA[ https://webservice.example.org/api/subject/$pathEscaper.escape($requestContext.principal)/groups ]]> </URLTemplate> <ResponseMapping> <Script> <![CDATA[ var HashSet = Java.type("java.util.HashSet"); var HttpClientSupport = Java.type("net.shibboleth.utilities.java.support.httpclient.HttpClientSupport"); var IdPAttribute = Java.type("net.shibboleth.idp.attribute.IdPAttribute"); var StringAttributeValue = Java.type("net.shibboleth.idp.attribute.StringAttributeValue"); // Limits length to 64k var body = HttpClientSupport.toString(response.getEntity(), "UTF-8", 65536); var result = JSON.parse(body); var attr = new IdPAttribute("grouperGroupgroup"); var values = new HashSet(); if (result.wsGroupsgroups != null) { for (var i=0; i<result.wsGroupsgroups.length; i++) { values.add(new StringAttributeValue(result.wsGroupsgroups[i].name)); } } attr.setValues(values); connectorResults.add(attr); ]]> </Script> </ResponseMapping> <ResultCache expireAfterWrite="PT5M"/> </DataConnector> |
...