Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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

 Specific XMLAttribute

Name

Type

Description

attributeListRef 4.3

Bean Id

Bean Id of a List<IdPAttribute> which will be the attributes the connector returns.

 Specific XML Elements

Name

Cardinality

Description

<Attribute>

1 or more

Each element defines an IdPAttribute to generate. Note that this is not the same as a <saml:Attribute> element found in other areas of the configuration, but a custom element specific to the resolver.

Each element MUST contain an XML Attribute named id that specifies the name of the IdPAttribute to generate. It MUST also contain one or more nested <Value> elements. The text content of the <Value> elements provide the string values of the attribute being generated.

 Common XML Attributes

Name

Type

Default

Description

id

String


Identifier for the DataConnector. This is used for logging, to establish dependencies, and as a target for failover.

activationConditionRef

Bean ID


Bean ID of a condition to decide whether to resolve this connector, see here.
Mutually exclusive with relyingParties and resolutionPhases and variants

relyingParties

Space-delimited list


List of entity IDs for which this connector should be resolved.
Mutually exclusive with activationConditionRef

excludeRelyingParties

Space-delimited list


List of entity IDs for which this connector should not be resolved.
Mutually exclusive with activationConditionRef

resolutionPhases

Space-delimited list


List of resolution phases (i.e. flows) during which this connector should be resolved.
Mutually exclusive with activationConditionRef

excludeResolutionPhases

Space-delimited list


List of resolution phases (i.e. flows) during which this connector should not be resolved.
Mutually exclusive with activationConditionRef

exportAttributes

Space-delimited list


List of attributes produced by the DataConnector that should be directly exported as resolved IdPAttributes without requiring actual AttributeDefinitions.

In the case of a name clash (a DataConnector exports an attribute with the same name as an AttributeDefinition, or another DataConnector exports the same attribute) the DataConnector attribute is NOT added and a warning issued.

noRetryDelay

Duration

0

Time between retries of a failed DataConnector (during the interval, failure is just assumed when the connector is run and no actual connection is attempted)

propagateResolutionExceptions

Boolean

true

Whether connector/plugin failure is fatal to the entire attribute resolution process.
If this is set to false the error is logged and the data connector returns no attributes.

 Common XML Elements

None of the common elements typical of DataConnectorConfiguration are supported, as this connector has neither dependencies nor failover (since it cannot fail).

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 4.3

The Static Data Connector can be configured in native Spring XML via the attributeListRef attributes.

Example Spring configuration : conf/attribute-resolver.xm
<DataConnector id="staticAttributesSpring" xsi:type="Static" attributeListRef="StaticAttributeList"/>

The Spring Resource must provide a bean of type Collection<IdPAttribute> populated via Collection<IdPAttributeValue>.

Example Spring configuration : conf/staticAttributesSpring.xml
 Click here to expand...
<?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 id="StaticAttributeList">
        <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>

  • No labels