storedId DataConnector - salt

John Watt John.Watt at glasgow.ac.uk
Wed Oct 12 10:45:31 EDT 2016


We have a working (test platform) IdP3.2.1 with a storedID database which asserts the eduPersonTargetedID attribute to the UK federation (by its own policy). The persistentIDs are generated for this attribute with a non-reassignable source attribute and a salt declared in the deprecated storedID DataConnector. (with variables defined in saml-nameid.properties)

In the storedIDConnector wiki page (2nd paragraph), it states that in the connector: "If no salt is provided, then a random value is generated". I am interested in moving our connector on this test platform from the salted version to this truly random one.

But, when I remove the salt from the DataConnector properties (and the idp.persistentId.salt variable) I get an error on startup that it is required:

2016-10-12 15:20:49,538 - ERROR [net.shibboleth.utilities.java.support.service.AbstractReloadableService:181] - Service 'shibboleth.AttributeResolverService': Initial load failed
net.shibboleth.utilities.java.support.service.ServiceException: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 208 in XML document from file [/opt/shibboleth-idp/conf/attribute-resolver-ldap.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 208; columnNumber: 19; cvc-complex-type.4: Attribute 'salt' must appear on element 'resolver:DataConnector'.
        at net.shibboleth.ext.spring.service.ReloadableSpringService.doReload(ReloadableSpringService.java:334)

The working (salted) DataConnector in the attribute resolver looks like:

   <resolver:DataConnector id="myStoredId" xsi:type="dc:StoredId"
        generatedAttributeID="persistentID"
        sourceAttributeID="%{idp.persistentId.sourceAttribute}"
        salt="%{idp.persistentId.salt}"
        queryTimeout="0">
        <resolver:Dependency ref="%{idp.persistentId.sourceAttribute}"/>
        <dc:BeanManagedConnection>shibboleth.PostgreSQLDataSource</dc:BeanManagedConnection>
    </resolver:DataConnector>

Is it possible to use the storedID DataConnector in the 'saltless' mode to generate random persistentIDs?

(I also set 'idp.persistentId.computed = NULL' in saml-nameid.properties, although there is no specific computedId connector defined)

Kind regards,
John


Dr. John Watt
IT Services, Room 405C, James Watt North Bldg., University of Glasgow
University Avenue, Glasgow G12 8QQ

Direct Line: +44 (0)141 330 8647 | Mobile: 07545 500579 | Email: John.Watt at glasgow.ac.uk

The University of Glasgow, charity number SC004401




More information about the users mailing list