Dies ist eine alte Version des Dokuments!


Enhanced Client and Proxy (ECP)

ECP ist im IdP 3.x out-of-the box aktiv.

Achten Sie nur darauf dass das ECP-SSO-Binding des IdPs in den DFN-AAI-Metadaten auch angegeben ist:

Fehlt dies, finden ECP-Clients den IdP nicht wenn Sie sich anmelden wollen.

Zum Testen eignet sich das vom CILogon Projekt bereitgestellte Testscript 'testecp.sh'.

Siehe auch die Dokumentation im Shibboleth Wiki.

Ob die IdP-seitigen Voreinstellungen für den ECP-Support ausreichen, hängt letztlich vom Verhalten der eingesetzten Clients ab, siehe hierzu die Dokumentation im Shibboleth Wiki.

Vor allem die Sync&Share-Dienste in der DFN-AAI gehen offenbar von einer anderen ECP-Configuration am IdP aus. Um dieses nutzbare zu machen müssen noch weitere Configurationen gemacht werden, siehe dazu die SP-Seiten in diesem Wiki!

Wer die ECP-Unterstützung auf einzelne SPs einschränken möchte (nicht empfohlen, aber falls jemand ein Szenario kennt in dem das sinnvoll ist, bitte melden ;-), muss in /opt/shibboleth-idp/conf/relying-party.xml im Abschnitt DefaultRelyingParty die Referenz auf das Bean SAML2.ECP auskommentieren und in der Liste der RelyingPartyOverrides eine Konfiguration für diese SPs hinzufügen. Das funktioniert analog zur eingeschränkten Freigabe der PersistentID.
Hier ein Beispiel für bwIDM:

/opt/shibboleth-idp/conf/relying-party.xml
<bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty">
  <property name="profileConfigurations">
    <list>
        <bean parent="Shibboleth.SSO" 
              p:postAuthenticationFlows="#{{'terms-of-use', 'attribute-release'}}"
              p:includeAttributeStatement="true" />
          <ref bean="SAML1.AttributeQuery" />
          <ref bean="SAML1.ArtifactResolution" />
          <bean parent="SAML2.SSO"
                p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" 
                p:postAuthenticationFlows="#{{'terms-of-use', 'attribute-release'}}" />
          <ref bean="SAML2.Logout" />
          <ref bean="SAML2.ArtifactResolution" />
    </list>
  </property>
</bean>
 
<util:list id="shibboleth.RelyingPartyOverrides">
 
 <bean parent="RelyingPartyByTag">
   <constructor-arg name="candidates">
     <list>
        <bean parent="TagCandidate" c:name="http://macedir.org/entity-category"
              p:values="http://aai.dfn.de/category/bwidm-member"/>
     </list>
   </constructor-arg>
   <property name="profileConfigurations">
     <list>
        <ref bean="SAML2.ECP" />
        <ref bean="SAML2.AttributeQuery" />
        <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.ArtifactResolution" />
     </list>
   </property>
 </bean>
 
</util:list>
  • Zuletzt geändert: vor 3 Jahren