Persistent ID als Attribut: eduPersonTargetedID

Ab IdP 4.1.0 als DEPRECATED markiert

Im nächsten Major Release wird die hier beschriebene Übermittlung der eduPersonTargetedID nicht mehr unterstützt!

Etliche Service Provider sind aus historischen Gründen nicht in der Lage, einen Persistent Name Identifier zu verarbeiten. Sie erwarten den entsprechenden Wert in Form des veralteten Attributs eduPersonTargetedID.

So konfigurieren Sie den IdP, dass er die persistentId aus der Datenbank holt. Die Freigabe erfolgt analog zu allen anderen Attributen in ./conf/attribute-filter.xml.

./conf/attribute-resolver.xml
<!-- eduPersonTargetedID aus der SAML2NameID bilden -->
<AttributeDefinition id="eduPersonTargetedID" xsi:type="SAML2NameID" nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
    <InputDataConnector ref="myStoredId" attributeNames="persistentId"/>
    <DisplayName xml:lang="en">Targeted ID (pseudonyme Kennung)</DisplayName>
    <DisplayName xml:lang="de">Targeted ID (pseudonymous ID)</DisplayName>
    <DisplayDescription xml:lang="en">Targeted ID: A unique, pseudonymous identifier for a person, different for each service provider.</DisplayDescription>
    <DisplayDescription xml:lang="de">Targeted ID: Eindeutige, pseudonyme Nutzerkennung, unterschiedlich pro Service Provider.</DisplayDescription>
    <AttributeEncoder xsi:type="SAML2XMLObject" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="eduPersonTargetedID" />
</AttributeDefinition>
 
<!-- ========================================== -->
<!--      Data Connectors                       -->
<!-- ========================================== -->
 
<DataConnector id="myStoredId"
    xsi:type="StoredId"
    generatedAttributeID="persistentId"
    salt="%{idp.persistentId.salt}">
    <InputAttributeDefinition ref="%{idp.persistentId.sourceAttribute}" />
    <BeanManagedConnection>shibboleth.MySQLDataSource</BeanManagedConnection>
</DataConnector>

Bei Shibboleth IdP 4.x-Neuinstallationen sieht der Attribute Resolver etwas übersichtlicher aus:

./conf/attribute-resolver.xml
<AttributeDefinition id="eduPersonTargetedID" xsi:type="SAML2NameID" nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
    <InputDataConnector ref="myStoredId" attributeNames="persistentId"/>
</AttributeDefinition>
 
<!-- ========================================== -->
<!--      Data Connectors                       -->
<!-- ========================================== -->    
 
<DataConnector id="myStoredId"
    xsi:type="StoredId"
    generatedAttributeID="persistentId"
    salt="%{idp.persistentId.salt}">
    <InputAttributeDefinition ref="%{idp.persistentId.sourceAttribute}" />
    <BeanManagedConnection>shibboleth.MySQLDataSource</BeanManagedConnection>
</DataConnector>

Dafür müssen Sie die UI-Informationen und Transcoding-Regeln für das veraltete Attribut manuell in die Attribute Registry einpflegen. Wir empfehlen, dazu gleich eine ganze Sammlung von verbreiteten, nicht mitgelieferten Attributen einzubinden: Laden Sie die Datei dfnMisc.xml herunter und legen Sie sie nach ./conf/attribute/dfnMisc.xml. Referenzieren Sie diese Datei in ./conf/attributes/default-rules.xml.

  • Zuletzt geändert: vor 3 Monaten