Namespace: urn:mace:shibboleth:2.0:resolver
Schema: http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
Overview
The Static
data connector allows the generation of one or more fixed IdPAttribute objects from a statically-defined configuration.
It's particularly useful for defining "can't fail" backstops as a <FailoverDataConnector>
for something more likely to break. While most connectors support various knobs to control error handling, it's quite difficult and sometimes impossible to absolutely guarantee that a weird problem doesn't ripple out and break the rest of the process, and this makes that essentially bulletproof.
It's also occasionally useful for passing statically-defined data to recalcitrant vendors operating badly broken SPs.
Reference
Example
Example of a Static DataConnector
<DataConnector id="staticAttributes" xsi:type="Static"> <Attribute id="eduPersonAffiliation"> <Value>member</Value> </Attribute> <Attribute id="eduPersonEntitlement"> <Value>https://example.org/entitlement/entitlement1</Value> <Value>urn:mace:dir:entitlement:common-lib-terms</Value> </Attribute> </DataConnector>
Spring Configuration
The Static Data Connector can be configured in native Spring XML via the springResources
or springResourcesRef
attributes.
Example Spring configuration : conf/attribute-resolver.xml
<DataConnector id="staticAttributesSpring" xsi:type="Static" springResources="${idp.home}/conf/staticAttributesSpring.xml"/>
The Spring Resource must provide a bean of type Collection<IdPAttribute> populated via Collection<IdPAttributeValue>.
Example Spring configuration : conf/staticAttributesSpring.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd" default-init-method="initialize" default-destroy-method="destroy"> <util:list> <bean class="net.shibboleth.idp.attribute.IdPAttribute" c:_0="exampleAttributeId1"> <property name="values"> <list> <bean class="net.shibboleth.idp.attribute.StringAttributeValue" c:_0="exampleAttributeValue1" /> <bean class="net.shibboleth.idp.attribute.StringAttributeValue" c:_0="exampleAttributeValue2" /> </list> </property> </bean> <bean class="net.shibboleth.idp.attribute.IdPAttribute" c:_0="exampleAttributeId2"> <property name="values"> <list> <bean class="net.shibboleth.idp.attribute.StringAttributeValue" c:_0="exampleAttributeValue3" /> </list> </property> </bean> </util:list> </beans>