Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
de:shibidp3storage [2017/03/24 15:25] – Raoul Gunnar Borenius | de:shibidp3storage [2019/01/21 11:31] – [Session-Informationen und User Consent] Wolfgang Pempe | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Server-Side-Storage und Persistent Identifier ====== | + | ====== Server-Side-Storage, Sessions, User Consent |
- | Per default werden Informationen zu User Consent (ehemals uApprove) und Persistent IDs client-seitig in Cookies abgelegt. Dies kann aber nur als initiale " | + | Per default werden Informationen zu Sessions, |
- | Single-Logout). | + | |
+ | **Darüber hinaus kann nur auf diese Weise sichergestellt werden, dass bei Attribute Queries (SP fragt anhand eines Name Identifiers direkt beim IdP Nutzerdaten ab), die Entscheidungen des/der Nutzers/ | ||
===== Installation Datenbanksoftware ===== | ===== Installation Datenbanksoftware ===== | ||
Zeile 39: | Zeile 40: | ||
===== Datenbank-Konfiguration ===== | ===== Datenbank-Konfiguration ===== | ||
- | Zunächst ist eine logische Datenbank zu erstellen. Hierzu müssen, wie vom IdP 2.x gewohnt, zunächst nur die Tabellen für die Angaben zur Persistent Id angelegt werden, die Tabelle " | + | Zunächst ist eine logische Datenbank zu erstellen. Hierzu müssen, wie vom IdP 2.x gewohnt, zunächst nur die Tabellen für die Angaben zur Persistent Id angelegt werden, die Tabelle " |
Hier ein Beispiel für MySQL, wobei hier vorausschauend auch gleich eine Tabelle für die persistentId angelegt wird, welche später noch gebraucht wird (siehe später in dieser Anleitung): | Hier ein Beispiel für MySQL, wobei hier vorausschauend auch gleich eine Tabelle für die persistentId angelegt wird, welche später noch gebraucht wird (siehe später in dieser Anleitung): | ||
Zeile 73: | Zeile 74: | ||
Der DB-Zugriff wird über den [[https:// | Der DB-Zugriff wird über den [[https:// | ||
Diese Datei ist im Auslieferungszustand leer (bis auf Kommentare). Ersetzen Sie sie durch die [[de: | Diese Datei ist im Auslieferungszustand leer (bis auf Kommentare). Ersetzen Sie sie durch die [[de: | ||
- | |||
- | Starten Sie Tomcat neu, um sicherzustellen, | ||
- | <code bash> | ||
- | root@idp:/ | ||
- | </ | ||
- | |||
- | Hinweis: bei älteren Java Versionen führt der Parameter " | ||
Zeile 96: | Zeile 90: | ||
mysql.password = GeHEIM007 | mysql.password = GeHEIM007 | ||
</ | </ | ||
- | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren | + | |
+ | Starten Sie Tomcat neu, um sicherzustellen, | ||
<code bash> | <code bash> | ||
root@idp:/ | root@idp:/ | ||
</ | </ | ||
+ | |||
+ | Hinweis: bei älteren Java Versionen führt der Parameter " | ||
+ | |||
===== PersistentId Konfiguration ===== | ===== PersistentId Konfiguration ===== | ||
Zeile 166: | Zeile 164: | ||
</ | </ | ||
- | Viertens: meist sind Usernamen unabhängig von Gross- und Kleinschreibung. D.h. die User können Ihren Loginnamen | + | Viertens: meist sind Usernamen |
- | sowohl in Gross- als auch Kleinschreibung angeben und damit einen erfolgreichen Login durchführen. Allerdings | + | |
- | führt dieses später zu Problemen | + | |
- | Usernamen im IdP in Kleinbuchstaben umzuwandeln: | + | |
<file xml ./ | <file xml ./ | ||
Zeile 177: | Zeile 172: | ||
</ | </ | ||
- | ===== Session-Informationen | + | Damit werden die Usernamen vom IdP nur noch in Kleinbuchstabenform verarbeitet |
- | Nachdem Datenbankverbindung und persistentId aktiviert sind, können diese nun für die Speicherung von Session- und User Consent-Informationen genutzt werden. Dadurch wird als netter Nebeneffekt auch SingleLogout- | + | ===== Session-Informationen und User Consent ===== |
- | Unterstützung im IdP ermöglicht: | + | |
+ | Nachdem Datenbankverbindung und persistentId aktiviert sind, können diese nun für die Speicherung von Session- und User Consent-Informationen genutzt werden. Dadurch wird als netter Nebeneffekt auch [[de: | ||
<file properties / | <file properties / | ||
Zeile 192: | Zeile 188: | ||
# Set to " | # Set to " | ||
# to key user consent storage records (and set the attribute name) | # to key user consent storage records (and set the attribute name) | ||
- | idp.consent.userStorageKey = shibboleth.consent.AttributeConsentStorageKey | + | idp.consent.attribute-release.userStorageKey = shibboleth.consent.PrincipalConsentStorageKey |
- | idp.consent.userStorageKeyAttribute = %{idp.persistentId.sourceAttribute} | + | idp.consent.attribute-release.userStorageKeyAttribute = %{idp.persistentId.sourceAttribute} |
+ | idp.consent.terms-of-use.userStorageKey = shibboleth.consent.PrincipalConsentStorageKey | ||
+ | idp.consent.terms-of-use.userStorageKeyAttribute = %{idp.persistentId.sourceAttribute} | ||
# Flags controlling how built-in attribute consent feature operates | # Flags controlling how built-in attribute consent feature operates | ||
Zeile 206: | Zeile 204: | ||
# Verfügung steht sollte dieses sinnvolle Feature aktiviert werden! | # Verfügung steht sollte dieses sinnvolle Feature aktiviert werden! | ||
idp.consent.compareValues = true | idp.consent.compareValues = true | ||
+ | </ | ||
+ | |||
+ | ==== User Consent zu Attributfreigabe bei Attribute Queries berücksichtigen ==== | ||
+ | |||
+ | Damit bei Attribute Queries Nutzer-Entscheidungen zur Attributfreigabe berücksichtigt werden, muss in ./ | ||
+ | |||
+ | <file xml ./ | ||
+ | <!-- | ||
+ | Condition to evaluate to apply attribute-release consent to attribute queries. | ||
+ | --> | ||
+ | <bean id=" | ||
</ | </ | ||
Zeile 214: | Zeile 223: | ||
===== Weitergabe der Persistent ID ===== | ===== Weitergabe der Persistent ID ===== | ||
- | Um die persistentId für alle SPs freizugeben muss die SAML2.SSO-Bean-Definition erweitert werden: | + | Um in den Fällen, in denen ein anfragender SP keine Präferenzen bzgl. Name ID Format signalisiert (Metadaten und/oder AuthnRequest), |
<file xml / | <file xml / | ||
Zeile 242: | Zeile 251: | ||
persistentId übertragen wird. | persistentId übertragen wird. | ||
- | Falls Sie die persistentId nur an ausgewählte SPs übertragen | + | HINWEIS: Da die persistendId kein SAML-Attribut ist, wird Ihnen diese nach dem Login am IdP nicht in der Liste der zu übertragenden Attribute angezeigt. Erst wenn Sie wieder am Test-SP sind wird Ihnen dort die persistentId, |
+ | |||
+ | Falls die persistentId nur an ausgewählte SPs übertragen | ||
** Weiter geht es mit [[de: | ** Weiter geht es mit [[de: |