Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
de:shibidp:config-per-attribute-consent [2025/04/22 11:46] – Doreen Liebenau | de:shibidp:config-per-attribute-consent [2025/04/28 11:16] (aktuell) – Anpassung des Velocity Template für IdP v5 bzgl. non-required Attribute Doreen Liebenau | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Per Attribute Consent für vom SP nicht ' | ====== Per Attribute Consent für vom SP nicht ' | ||
- | In den allgemeinen Properties ('' | + | In den allgemeinen Properties ('' |
- | Um das auf der Attribute-Release Seite zu berücksichtigen sind folgende zwei kleine | + | In der Default-Konfiguration des IdP werden mit dieser Einstellung |
+ | Folgende | ||
- | * Änderungen | + | * Ergänzung |
< | < | ||
... | ... | ||
Zeile 12: | Zeile 13: | ||
... | ... | ||
</ | </ | ||
+ | |||
+ | * Im Velocity Template die Checkbox für non-required Attribute anzeigen. Required Attribute werden ohne Checkbox angezeigt. Dazu wird in der Datei '' | ||
- | FIXME: nachfolgende Anpassung der attribute-release.vm für IdP v5 aktualisieren. | + | <code> |
- | * Im Velocity Template die Checkbox nur für non-required Attribute anzeigen. Dazu die Datei '' | + | |
- | + | ||
- | <file html4strict views/ | + | |
... | ... | ||
- | <!-- Attribute Liste - Tabelle Start --> | ||
- | <table class=" | ||
- | < | ||
- | <tr> | ||
- | <th colspan=" | ||
- | # | ||
- | </th> | ||
- | <th> | ||
- | <!-- check / uncheck all --> | ||
- | #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled ) | ||
- | <script language=" | ||
- | function toggle(source) { | ||
- | checkboxes = document.getElementsByName(' | ||
- | for(var i=0, n=checkboxes.length; | ||
- | if(checkboxes[i].type != " | ||
- | checkboxes[i].checked = source.checked; | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | <input type=" | ||
- | #end | ||
- | </th> | ||
- | </tr> | ||
- | </ | ||
- | < | ||
#foreach ($attribute in $attributeReleaseContext.getConsentableAttributes().values()) | #foreach ($attribute in $attributeReleaseContext.getConsentableAttributes().values()) | ||
- | | + | |
- | <td> | + | <fieldset> |
- | $encoder.encodeForHTML($attributeDisplayNameFunction.apply($attribute)) | + | |
- | </td> | + | <label for="$attribute.id"> |
- | <td> | + | #else |
- | #foreach ($value in $attribute.values) | + | <p>$encoder.encodeForHTML($attributeDisplayNameFunction.apply($attribute))</ |
- | <strong> | + | <input id=" |
- | < | + | #end |
- | | + | |
- | </td> | + | |
- | < | + | |
- | #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled ) | + | |
- | <!-- $attributeRequired.apply($attribute)) return " | + | |
- | #if (!$attributeRequired.apply($attribute)) | + | |
- | <!-- not required, allow to check separably --> | + | |
- | #set ($inputType = " | + | |
- | #else | + | |
- | <!-- required, don't allow to check separably --> | + | |
- | #set ($inputType = " | + | |
- | <!-- inform the user, that is a required attribute --> | + | |
- | < | + | |
- | # | + | |
- | #else | + | |
- | #set ($inputType = " | + | |
- | #end | + | |
- | | + | |
- | </td> | + | |
- | | + | |
- | | + | |
- | </ | + | |
... | ... | ||
+ | </ | ||
- | + | | |
- | </ | + | <code> |
- | + | ||
- | | + | |
- | + | ||
- | <file properties messages/ | + | |
... | ... | ||
- | idp.attribute-release.ToggleAll | + | #foreach ($attribute in $attributeReleaseContext.getConsentableAttributes().values()) |
- | idp.attribute-release.requiredLabel | + | #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled) |
+ | < | ||
+ | #if ($isAttributeRequired.test($attribute)) | ||
+ | <input id="$attribute.id" type=" | ||
+ | #else | ||
+ | <input id=" | ||
+ | #end | ||
+ | <label for=" | ||
+ | #else | ||
+ | < | ||
+ | <input id=" | ||
+ | #end | ||
... | ... | ||
- | + | </code> | |
- | + | ||
- | </file> | + | |
Wird der AttributeQuery benutzt, muss auch hier der letzte Consent vom Nutzer beachtet werden. Dazu ist in '' | Wird der AttributeQuery benutzt, muss auch hier der letzte Consent vom Nutzer beachtet werden. Dazu ist in '' | ||
Zeile 95: | Zeile 54: | ||
Für das Propagieren des zusätzlichen Objektes in den Attribute-Release-Flow ist leider ein Neustart des IdP nötig. | Für das Propagieren des zusätzlichen Objektes in den Attribute-Release-Flow ist leider ein Neustart des IdP nötig. | ||
- | |||
- | {{tag> | ||