Nutzungsbedingungen (Terms of Use)

Diese können, sofern relevant (bitte mit den Kollegen von der Rechtsabteilung bzw. Datenschutz klären) in zwei Schritten aktiviert werden:

Erstens modifizieren Sie:

./conf/intercept/consent-intercept-config.xml
 ...
    <!--
    Terms of use is driven by a lookup function returning a key into messages/consent-messages.properties
 
    The default mapping returns the relying party / SP name as the key. The second example below
    demonstrates use of a custom mapping table from the relying party name to the key to use.
    -->
 
    <!-- alias-Block deaktivieren damit das folgende bean aktiv werden kann
    <alias alias="shibboleth.consent.terms-of-use.Key" name="shibboleth.RelyingPartyIdLookup.Simple" /> -->
 
    <!-- bean einfügen welches die die statischen Terms-Of-Use aus consent-messages.properties referenziert -->
    <bean id="shibboleth.consent.terms-of-use.Key" class="com.google.common.base.Functions" factory-method="constant">
        <constructor-arg value="my-terms"/>
    </bean>
 
    <!-- ...

und zweitens modifizieren Sie die beiden SSO-Zeilen in:

./conf/relying-party.xml
    <!--
    Default configuration, with default settings applied for all profiles, and enables
    the attribute-release consent flow.
    -->
    <bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty">
        <property name="profileConfigurations">
            <list>
                <!-- Shibboleth-SSO default-Zeile deaktivieren 
                <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" /> -->
                <!-- und ersetzen durch -->
                <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="#{ {'terms-of-use', 'attribute-release'} }" />
                <ref bean="SAML1.AttributeQuery" />
                <ref bean="SAML1.ArtifactResolution" />
                <!-- SAML2-SSO default-Zeile deaktivieren
                <bean parent="SAML2.SSO" p:postAuthenticationFlows="attribute-release" /> -->
                <!-- und ersetzen durch -->
                <bean parent="SAML2.SSO" p:postAuthenticationFlows="#{ {'terms-of-use', 'attribute-release'} }" />
                <!-- danach alles lassen wie es ist -->
                <ref bean="SAML2.ECP" />
                <ref bean="...

Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!):

root@idp:/opt/shibboleth-idp# service tomcat8 restart

Um die Nutzungsbedingungen auch nach dem ersten Mal noch einsehen zu können, kann ein entsprechender Link im Footer der IdP-Seiten mitgeführt werden. Damit dieser Link funktioniert legen Sie bitte folgende Datei an:

./edit-webapp/tou.jsp
<%@ page pageEncoding="UTF-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>
   <spring:message code="root.title" text="Shibboleth IdP" /> - <spring:message code="my-tou.title" text="Terms of Use" />
  </title>
  <link rel="stylesheet" type="text/css" href="<%= request.getContextPath()%>/css/consent.css">
 </head>
 
 <body>
  <div class="box">
   <header>
    <a href="<spring:message code="idp.logo.target.url" />" target="_blank">
       <img src="<%= request.getContextPath() %><spring:message code="idp.logo" />"
        alt="<spring:message code="idp.logo.alt-text" text="logo" />">
    </a>
   </header>
 
   <div id="tou-content">
    <spring:message code="my-tou.text" text="Terms of Use" />
   </div>
 
   <footer>
    <div class="container container-footer">
     <p class="footer-text">
      <strong>
       &copy; <spring:message code="idp.logo.alt-text" /> <spring:message code="idp.url.copyyear" /> |
       <a title="Impressum" href="<spring:message code="idp.url.imprint" />" target="_blank">
        Impressum
       </a>
      </strong>
     </p>
    </div>
   </footer>
  </div>
 
 </body>
</html>

Hinweis: Falls Sie dem Beispiel für eine EU-DSGVO-konforme Konfiguration des User Consent Moduls folgen wollen, finden Sie dort ein Beispiel für eine entsprechend angepasste Datei tou.jsp.

und erzeugen danach das IdP-War file neu (dabei Logdateien mitverfolgen!):

root@idp:/opt/shibboleth-idp# JAVA_HOME=/usr ./bin/build.sh

Testen Sie nochmal einen Login mithilfe der DFN-Test-SP(s) und überzeugen Sie sich dass die Layout-Anpassungen wirksam geworden sind.

Weiter geht es mit Konfiguration der Benutzer-Einwilligung zur Attributfreigabe (User Consent).

  • Zuletzt geändert: vor 6 Monaten