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:shibidp3pidspecials [2016/11/18 09:27]
Raoul Gunnar Borenius
de:shibidp3pidspecials [2019/08/26 11:43] (aktuell)
Silke Meyer [Weitergabe der persistentId nur an bestimmte SPs]
Zeile 2: Zeile 2:
  
 **Zur Persistent ID allgemein siehe unter [[de:​shibidp3storage|Storage und Persistent Identifier]].** **Zur Persistent ID allgemein siehe unter [[de:​shibidp3storage|Storage und Persistent Identifier]].**
 +
 +===== Generierung des Quellattributes mithilfe von zwei IdM-Attributen =====
 +
 +Beispiel der Hochschule Bremen zur Generierung des Quellattributes zur persistentId mithilfe von "​uid"​ und "​uidNumber":​
 +
 +<file xml attribute-resolver.xml>​
 + <​AttributeDefinition xsi:​type="​ScriptedAttribute"​ id="​uniqueIdentifier"​ >
 +    <​InputAttributeDefinition ref="​uid"​ />       
 +    <​InputAttributeDefinition ref="​uidNumber"​ />       
 +    <​Script>​
 +            <​![CDATA[
 +     ​  ​           uid= uid.getValues().get(0);​
 +                  uidNumber = uidNumber.getValues().get(0);​
 +       ​  ​           stringUidNumber = String(uidNumber);​
 +                    newIdentifier = uid+stringUidNumber;​
 +                    uniqueIdentifier.getValues().add(newIdentifier);​
 +           ​]]> ​      
 +    </​Script>​
 +</​AttributeDefinition>​
 +</​file>​
 +
 +===== Weitergabe der persistentId nur an bestimmte SPs =====
 +
 +Sofern Sie die persistendId nicht pauschal an alle SPs weitergeben wollen, kann dies in einem RelyingPartyOverride definiert werden.
 +
 +Dazu muss folgendes gemacht werden:
 +
 +  * im Default-Block wird nur die TransientId released
 +  * einen Override definieren in dem für gewissen entityIds die presistentId released wird.
 +
 +<file xml relying-party.xml>​
 +<beans ...>
 +  <!-- ... -->
 +  <bean id="​shibboleth.DefaultRelyingParty"​ parent="​RelyingParty">​
 +    <​property name="​profileConfigurations">​
 +       <​list>​
 +         <​bean parent="​Shibboleth.SSO" ​
 +               ​p:​postAuthenticationFlows="#​{{'​terms-of-use',​ '​attribute-release'​}}"​ />
 +         <​!-- ... -->
 +         <​bean parent="​SAML2.SSO" ​
 +               ​p:​postAuthenticationFlows="#​{{'​terms-of-use',​ '​attribute-release'​}}" ​
 +               ​p:​nameIDFormatPrecedence="​urn:​oasis:​names:​tc:​SAML:​2.0:​nameid-format:​transient"​ />
 +         <​!-- ... -->
 +        </​list>​
 +    </​property>​
 +  </​bean>​
 +  <​util:​list id="​shibboleth.RelyingPartyOverrides">​
 +     <​!-- ... -->
 +     <​!-- komma-separierte Liste der Entity IDs der berechtigten SPs, hier inkl. DFNConf -->
 +     <​bean parent="​RelyingPartyByName" ​
 +         ​c:​relyingPartyIds="#​{{'​https://​testsp3.aai.dfn.de/​shibboleth',​ '​https://​testsp2.aai.dfn.de/​shibboleth',​ '​https://​webconf.vc.dfn.de/​shibboleth',​ '​https://​my.conf.dfn.de/​shibboleth',​ '​https://​self.conf.dfn.de/​shibboleth',​ '​https://​www.conf.dfn.de/​shibboleth'​}}">​
 +         <​property name="​profileConfigurations">​
 +           <​list>​
 +             <​bean parent="​SAML2.SSO" ​
 +                   ​p:​postAuthenticationFlows="#​{{'​terms-of-use',​ '​attribute-release'​}}"​
 +                   ​p:​nameIDFormatPrecedence="#​{{'​urn:​oasis:​names:​tc:​SAML:​2.0:​nameid-format:​persistent',​ '​urn:​oasis:​names:​tc:​SAML:​2.0:​nameid-format:​transient'​}}"​ />
 +              <ref bean="​SAML2.Logout"​ />
 +              <ref bean="​SAML2.AttributeQuery"​ />
 +              <ref bean="​SAML2.ArtifactResolution"​ />
 +           </​list>​
 +         </​property>​
 +     </​bean>​
 +  </​util:​list>​
 +</​beans>​
 +</​file>​
 +
  
 ===== Freigabe in Abhängigkeit zu anderen Attributen ===== ===== Freigabe in Abhängigkeit zu anderen Attributen =====
Zeile 82: Zeile 148:
 In allen anderen Fällen sollte die Generierung der persistentID problemlos funktionieren. In allen anderen Fällen sollte die Generierung der persistentID problemlos funktionieren.
  
-==== Beispiel für den Wechsel des IdM-Quellattributs ====+===== Beispiel für den Wechsel des IdM-Quellattributs ​=====
  
 Das folgende wurde uns netterweise von den Kollegen der Uni Jena zur Verfügung gestellt und soll als Beispiel dienen wie bei Bedarf das IdM-Quellattribut gewechselt werden kann und dabei schon bestehende persistentIds zu erhalten Das folgende wurde uns netterweise von den Kollegen der Uni Jena zur Verfügung gestellt und soll als Beispiel dienen wie bei Bedarf das IdM-Quellattribut gewechselt werden kann und dabei schon bestehende persistentIds zu erhalten
  
-=== Migration der persistendId-DB an der Uni Jena ===+==== Migration der persistendId-DB an der Uni Jena ====
  
 Ziel der Aktion war das Auswechseln des Quellattributs der persistentId (gespeichert in Ziel der Aktion war das Auswechseln des Quellattributs der persistentId (gespeichert in
  • Zuletzt geändert: vor 3 Jahren