Shibboleth eduPersonTargetedID issue

luiz1361 luiz.martins at griffith.ie
Wed Jul 19 08:12:22 EDT 2017


Just in case something have the same problem, that is our end result.

Our IDP is running on CentOS and PostgreSQL.

Double check if the DB’s credentials are working, tables are created and
permissions set as pointed on the guide above.

Also we have to customize some files in order to get the PersistentID
generation and DB working properly.

Make sure you have this on your attribute-resolver.xml:
   <AttributeDefinition xsi:type="SAML2NameID" id="eduPersonTargetedID"
sourceAttributeID="persistentID"
nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
        <Dependency ref="storedId" />
        <AttributeEncoder xsi:type="SAML1XMLObject"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" encodeType="false" />
        <AttributeEncoder xsi:type="SAML2XMLObject"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="eduPersonTargetedID"
encodeType="false" />
    </AttributeDefinition>

<DataConnector
        id="storedId"
        xsi:type="StoredId"
        generatedAttributeID="persistentID"
        sourceAttributeID="sAMAccountName"
        queryTimeout="0"
        salt="yoursalt">
        <Dependency
                ref="myLDAP" />
        <ApplicationManagedConnection
                jdbcDriver="org.postgresql.Driver"
                jdbcURL="jdbc:postgresql://localhost/shibboleth"
                jdbcUserName="shibboleth"
                jdbcPassword="passwordforusershibbolethaboveonyourDB" />
</DataConnector>

Also this on the saml-nameid.xml:

<bean id="PersistentIdStore"
    class="org.apache.commons.dbcp2.BasicDataSource"
    p:driverClassName="org.postgresql.Driver"
    p:url="jdbc:postgresql://127.0.0.1/shibboleth"
    p:username="shibboleth"
    p:password=" passwordforusershibbolethaboveonyourDB "
    p:maxIdle="5"
    p:maxWaitMillis="15000"
    p:testOnBorrow="true"
    p:validationQuery="select 1"
    p:validationQueryTimeout="5" />


<bean id="custom.JDBCPersistentParentStore" abstract="true"
    class="net.shibboleth.idp.saml.nameid.impl.JDBCPersistentIdStoreEx" />


<bean id="MyPersistentIdStore" parent="custom.JDBCPersistentParentStore"
    p:dataSource-ref="PersistentIdStore"
    p:queryTimeout="PT2S"
    p:retryableErrors="#{{'23505'}}" />
</beans>

This file saml-nameid.properties should look like this:
idp.transientId.generator = shibboleth.CryptoTransientIdGenerator
idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator
idp.persistentId.dataSource = PersistentIdStore
idp.persistentId.sourceAttribute = sAMAccountName
idp.persistentId.store = MyPersistentIdStore
idp.persistentId.salt = yoursalt
idp.persistentId.computed = shibboleth.ComputedPersistentIdGenerator
idp.nameid.saml2.default =
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
idp.persistentId.algorithm = SHA
idp.persistentId.useUnfilteredAttributes = true




--
View this message in context: http://shibboleth.1660669.n2.nabble.com/Shibboleth-eduPersonTargetedID-issue-tp7631962p7634433.html
Sent from the Shibboleth - Users mailing list archive at Nabble.com.


More information about the users mailing list