Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:shibidp:config-attributes-edupersonuniqueid [2021/05/03 15:09] Silke Meyerde:shibidp:config-attributes-edupersonuniqueid [2021/08/12 14:14] (aktuell) Wolfgang Pempe
Zeile 36: Zeile 36:
  
 ===== Neu installierter IdP 4.x (mit Attribute Registry) ===== ===== Neu installierter IdP 4.x (mit Attribute Registry) =====
 +
 +<callout color="#ff9900" title="Best Practice">
 +Wir empfehlen, der [[de:shibidp:config-attributes-aaiplus#idp_4x | hier dokumentierten Best Practice]] zu folgen und zunächst einen subjectHash zu generieren, der dann sowohl für eduPersonUniqueId, als auch für die SAML Subject ID verwendet wird.
 +</callout>
 +
 +Alternativ können Sie auch einen ähnlichen Weg wie oben gehen. Damit das Attribut hier von der Attribute Registry verarbeitet werden kann, können Sie so ein neues scoped Attribut erzeugen, das dann von der Registry mit den richtigen Transcoder verarbeitet wird.
  
 <file xml /opt/shibboleth-idp/conf/attribute-resolver.xml> <file xml /opt/shibboleth-idp/conf/attribute-resolver.xml>
-<AttributeDefinition xsi:type="ScriptedAttribute" id="eduPersonUniqueId">+<AttributeDefinition id="eduPersonUniqueId" xsi:type="ScriptedAttribute">
     <InputAttributeDefinition ref="uid" />     <InputAttributeDefinition ref="uid" />
     <Script><![CDATA[     <Script><![CDATA[
-        DigestUtils = Java.type("org.apache.commons.codec.digest.DigestUtils"); +             var ScopedValue = Java.type("net.shibboleth.idp.attribute.ScopedStringAttributeValue"); 
-        // unique value erzeugen +             var DigestUtils = Java.type("org.apache.commons.codec.digest.DigestUtils"); 
-        uniqueValue = uid.getValues().get(0) + "SALT_MIN_48_CHARS"; +             // unique value erzeugen (do not change salt) 
-        // md5 value erzeugen +             var uniqueValue = uid.getValues().get(0) + "SALT_MIN_48_CHARS"; 
-        localpart = DigestUtils.md5Hex(uniqueValue);  +             // md5 value erzeugen 
-        // Scope anhängen +             var idSaltHash = DigestUtils.md5Hex(uniqueValue); 
-        eduPersonUniqueId.getValues().add(localpart + "@%{idp.scope}");      +             // Scope dazu 
-        ]]>+             eduPersonUniqueId.getValues().add(new ScopedValue(idSaltHash, "%{idp.scope}")); 
 +             ]]>
     </Script>     </Script>
 </AttributeDefinition> </AttributeDefinition>
  • Zuletzt geändert: vor 3 Jahren