...
#set ($requestClass = $attributeReleaseContext.getClass().forName("jakarta.servlet.http.HttpServletRequest"))
#set ($isAttributeRequired = $attributeReleaseContext.getClass().forName("net.shibboleth.idp.consent.logic.impl.IsAttributeRequiredPredicate").getDeclaredConstructor($requestClass).newInstance($request))
...
 
  * Im Velocity Template die Checkbox für non-required Attribute anzeigen. Required Attribute werden ohne Checkbox angezeigt. Dazu wird in der Datei ''views/intercept/attribute-release.vm'' folgende if-Anweisung ersetzt:
...
                    #foreach ($attribute in $attributeReleaseContext.getConsentableAttributes().values())
                        #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled)
                            
  * durch: 
...
                    #foreach ($attribute in $attributeReleaseContext.getConsentableAttributes().values())
                        #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled)
                            
Wird der AttributeQuery benutzt, muss auch hier der letzte Consent vom Nutzer beachtet werden. Dazu ist in ''conf/intercept/consent-intercept-config.xml''  für die Bean ''shibboleth.consent.AttributeQuery.Condition''  der parent Parameter auf den Wert ''shibboleth.Conditions.TRUE''  zu setzen, siehe hierzu unter [[de:shibidp:config-storage#user_consent_zu_attributfreigabe_bei_attribute_queries_beruecksichtigen|Server-Side-Storage, Sessions, User Consent und Persistent Identifier]]. Damit werden auch AttributeQueries gegen die zuletzt gespeicherte Nutzereinwilligung gefiltert. Hat der Nutzer nur einmal zugestimmt, werden keine Attribute übertragen.
Für das Propagieren des zusätzlichen Objektes in den Attribute-Release-Flow ist leider ein Neustart des IdP nötig.