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 immer noch nicht in der Lage, die SAML pairwise-id oder die persistentID 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 und als eduPersonTargetedID
herausgibt. Die Freigabe erfolgt analog zu allen anderen Attributen in ./conf/attribute-filter.xml
(siehe auch: Informationen zur Umstellung von eduPersonTargetedID und persistentID auf SAML pairwise-id).
Upgegradete Shibboleth IdP 4.x
- ./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>
Shibboleth IdP 4.x und 5.x Neuinstallationen
Bei Shibboleth IdP 4.x und 5.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
.