[java-plugin-shibd-saml] branch main updated: Flesh out rest of the main audit extraction points and adjust timing.

Codeberg noreply at shibboleth.net
Tue Jun 30 15:45:15 UTC 2026


This is an automated email from the git hooks/post-receive script.

codeberg pushed a commit to branch main
in repository java-plugin-shibd-saml.

View the commit online:
https://codeberg.org/Shibboleth/java-plugin-shibd-saml/commit/a5cc9b11e3fd7564f343b0409cd0c2d587c582c0

The following commit(s) were added to refs/heads/main by this push:
     new a5cc9b1  Flesh out rest of the main audit extraction points and adjust timing.
a5cc9b1 is described below

commit a5cc9b11e3fd7564f343b0409cd0c2d587c582c0
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Tue Jun 30 11:45:03 2026 -0400

    Flesh out rest of the main audit extraction points and adjust timing.
---
 .../META-INF/net.shibboleth.idp/postconfig.xml     | 404 ++++++++++++++++++++-
 .../idp/flows/sp/initiator/saml2/saml2-flow.xml    |   4 +-
 .../flows/sp/logout/consumer/saml2/saml2-beans.xml |   8 +-
 .../flows/sp/logout/consumer/saml2/saml2-flow.xml  |   4 +-
 .../flows/sp/logout/initiator/saml2/saml2-flow.xml |   2 +
 .../shibboleth/idp/flows/sp/saml2-common-beans.xml |   3 +
 6 files changed, 414 insertions(+), 11 deletions(-)

diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
index b1a9eac..a376066 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
@@ -205,6 +205,94 @@
 
     <!-- Audit beans. -->
 
+    <bean id="shibboleth.sp.saml.DefaultInboundRequestAuditExtractors" lazy-init="true"
+            class="org.springframework.beans.factory.config.MapFactoryBean">
+        <property name="sourceMap">
+            <map>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.PROTOCOL"/>
+                    </key>
+                    <ref bean="shibboleth.ProtocolLookupFunction" />
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.REQUEST_BINDING"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="org.opensaml.saml.common.messaging.context.navigate.SAMLBindingContextBindingFunction"
+                                p:useShortName="%{idp.audit.shortenBindings:false}" />
+                        </constructor-arg>
+                        <constructor-arg name="f">
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.ChildLookup.SAMLBindingContext"
+                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.RELAY_STATE"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean parent="shibboleth.Functions.Expression"
+                                c:_0="#input != null ? T(org.opensaml.saml.common.binding.SAMLBindingSupport).getRelayState(#input) : null" />
+                        </constructor-arg>
+                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Inbound"/>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SIGNING"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="net.shibboleth.shared.logic.FunctionSupport" factory-method="forPredicate">
+                                <constructor-arg>
+                                    <bean class="net.shibboleth.shared.spring.expression.SpringExpressionPredicate"
+                                        c:_0="#input != null ? T(org.opensaml.saml.common.binding.SAMLBindingSupport).isMessageSigned(#input) : false" />
+                                </constructor-arg>
+                            </bean>
+                        </constructor-arg>
+                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Inbound"/>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.REQUEST_ID"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="org.opensaml.saml.common.messaging.context.navigate.SAMLMessageInfoContextIDFunction" />
+                        </constructor-arg>
+                        <constructor-arg name="f">
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.ChildLookupOrCreate.SAMLMessageInfoContext"
+                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.REQUEST_ISSUE_INSTANT"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="org.opensaml.saml.common.messaging.context.navigate.SAMLMessageInfoContextIssueInstantFunction" />
+                        </constructor-arg>
+                        <constructor-arg name="f">
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.ChildLookupOrCreate.SAMLMessageInfoContext"
+                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+            </map>
+        </property>
+    </bean>
+
     <bean id="shibboleth.sp.saml.DefaultInboundResponseAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
@@ -365,7 +453,7 @@
         </property>
     </bean>
 
-    <bean id="shibboleth.sp.saml.DefaultInboundRequestAuditExtractors" lazy-init="true"
+    <bean id="shibboleth.sp.saml.DefaultOutboundRequestAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -387,7 +475,7 @@
                         <constructor-arg name="f">
                             <bean parent="shibboleth.Functions.Compose"
                                 c:g-ref="shibboleth.ChildLookup.SAMLBindingContext"
-                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
                         </constructor-arg>
                     </bean>
                 </entry>
@@ -400,7 +488,7 @@
                             <bean parent="shibboleth.Functions.Expression"
                                 c:_0="#input != null ? T(org.opensaml.saml.common.binding.SAMLBindingSupport).getRelayState(#input) : null" />
                         </constructor-arg>
-                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Inbound"/>
+                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Outbound"/>
                     </bean>
                 </entry>
                 <entry>
@@ -416,7 +504,7 @@
                                 </constructor-arg>
                             </bean>
                         </constructor-arg>
-                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Inbound"/>
+                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Outbound"/>
                     </bean>
                 </entry>
                 <entry>
@@ -430,7 +518,7 @@
                         <constructor-arg name="f">
                             <bean parent="shibboleth.Functions.Compose"
                                 c:g-ref="shibboleth.ChildLookupOrCreate.SAMLMessageInfoContext"
-                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
                         </constructor-arg>
                     </bean>
                 </entry>
@@ -445,7 +533,19 @@
                         <constructor-arg name="f">
                             <bean parent="shibboleth.Functions.Compose"
                                 c:g-ref="shibboleth.ChildLookupOrCreate.SAMLMessageInfoContext"
-                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.NAMEID"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.NameIDAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
                         </constructor-arg>
                     </bean>
                 </entry>
@@ -457,7 +557,7 @@
                         <constructor-arg>
                             <bean parent="shibboleth.Functions.Compose"
                                 c:g-ref="shibboleth.MessageLookup.SAMLObject"
-                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
                         </constructor-arg>
                     </bean>
                 </entry>
@@ -469,7 +569,239 @@
                         <constructor-arg>
                             <bean parent="shibboleth.Functions.Compose"
                                 c:g-ref="shibboleth.MessageLookup.SAMLObject"
-                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.IS_PASSIVE"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.IsPassiveAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.AuthnRequest"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.FORCE_AUTHN"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.ForceAuthnAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.AuthnRequest"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SCOPING_PROXY_COUNT"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.ScopingProxyCountAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.AuthnRequest"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SCOPING_IDP_LIST"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.ScopingIdPListAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.AuthnRequest"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SCOPING_REQ_LIST"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.ScopingRequesterListAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.AuthnRequest"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.NAMEIDPOLICY_FORMAT"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.NameIDPolicyFormatAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.AuthnRequest"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.NAMEIDPOLICY_SP_NAME_QUALIFIER"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.NameIDPolicySPNameQualifierAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.AuthnRequest"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SESSION_INDEX"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.SessionIndexAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+            </map>
+        </property>
+    </bean>
+
+    <bean id="shibboleth.sp.saml.DefaultOutboundResponseAuditExtractors" lazy-init="true"
+            class="org.springframework.beans.factory.config.MapFactoryBean">
+        <property name="sourceMap">
+            <map>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.PROTOCOL"/>
+                    </key>
+                    <ref bean="shibboleth.ProtocolLookupFunction" />
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.RESPONSE_BINDING"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="org.opensaml.saml.common.messaging.context.navigate.SAMLBindingContextBindingFunction"
+                                p:useShortName="%{idp.audit.shortenBindings:false}" />
+                        </constructor-arg>
+                        <constructor-arg name="f">
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.ChildLookup.SAMLBindingContext"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.RELAY_STATE"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean parent="shibboleth.Functions.Expression"
+                                c:_0="#input != null ? T(org.opensaml.saml.common.binding.SAMLBindingSupport).getRelayState(#input) : null" />
+                        </constructor-arg>
+                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Outbound"/>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SIGNING"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="net.shibboleth.shared.logic.FunctionSupport" factory-method="forPredicate">
+                                <constructor-arg>
+                                    <bean class="net.shibboleth.shared.spring.expression.SpringExpressionPredicate"
+                                        c:_0="#input != null ? T(org.opensaml.saml.common.binding.SAMLBindingSupport).isMessageSigned(#input) : false" />
+                                </constructor-arg>
+                            </bean>
+                        </constructor-arg>
+                        <constructor-arg name="f" ref="shibboleth.MessageContextLookup.Outbound"/>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.RESPONSE_ID"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="org.opensaml.saml.common.messaging.context.navigate.SAMLMessageInfoContextIDFunction" />
+                        </constructor-arg>
+                        <constructor-arg name="f">
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.ChildLookupOrCreate.SAMLMessageInfoContext"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.RESPONSE_ISSUE_INSTANT"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Compose">
+                        <constructor-arg name="g">
+                            <bean class="org.opensaml.saml.common.messaging.context.navigate.SAMLMessageInfoContextIssueInstantFunction" />
+                        </constructor-arg>
+                        <constructor-arg name="f">
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.ChildLookupOrCreate.SAMLMessageInfoContext"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.IN_RESPONSE_TO"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.InResponseToAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.STATUS_CODE"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.StatusCodeAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SUBSTATUS_CODE"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.SubStatusCodeAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.STATUS_MESSAGE"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.StatusMessageAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Outbound" />
                         </constructor-arg>
                     </bean>
                 </entry>
@@ -621,4 +953,60 @@
         </property>
     </bean>
 
+    <bean id="shibboleth.sp.saml.InboundLogoutRequestAuditExtractors" lazy-init="true"
+            class="org.springframework.beans.factory.config.MapFactoryBean">
+        <property name="sourceMap">
+            <map>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SESSION_INDEX"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.SessionIndexAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.NAMEID"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.NameIDAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.NAMEID_FORMAT"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.NameIDFormatAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.saml.profile.SAMLAuditFields.SP_NAME_QUALIFIER"/>
+                    </key>
+                    <bean class="net.shibboleth.idp.saml.audit.impl.SPNameQualifierAuditExtractor">
+                        <constructor-arg>
+                            <bean parent="shibboleth.Functions.Compose"
+                                c:g-ref="shibboleth.MessageLookup.SAMLObject"
+                                c:f-ref="shibboleth.MessageContextLookup.Inbound" />
+                        </constructor-arg>
+                    </bean>
+                </entry>
+            </map>
+        </property>
+    </bean>
+
 </beans>
diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-flow.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-flow.xml
index d2c93f4..87ac46f 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-flow.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-flow.xml
@@ -27,11 +27,13 @@
         
         <evaluate expression="AddAuthnRequest" />
         <evaluate expression="EncryptNameIDs" />
-
+        
         <evaluate expression="HandleOutboundMessage" />
         <evaluate expression="PreserveRelayState" />
         <evaluate expression="PreservePostData" />
+        <evaluate expression="OutboundRequestPopulateAuditContext" />
         <evaluate expression="EncodeMessage" />
+        
         <evaluate expression="'proceed'" />
 
         <transition on="proceed" to="proceed" />
diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-beans.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-beans.xml
index f297fb5..65afedd 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-beans.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-beans.xml
@@ -180,7 +180,10 @@
         p:decryptionParametersResolver-ref="shibboleth.DecryptionParametersResolver" />
 
     <bean id="DecryptNameIDs" class="org.opensaml.saml.saml2.profile.impl.DecryptNameIDs" scope="prototype" />
-        
+    
+    <bean id="InboundLogoutRequestPopulateAuditContext" parent="shibboleth.sp.AbstractPopulateAuditContext"
+        p:fieldExtractors="#{getObject('shibboleth.sp.saml.InboundLogoutRequestAuditExtractors') ?: getObject('shibboleth.sp.saml.DefaultInboundLogoutRequestAuditExtractors')}" />
+    
     <bean id="ProcessLogoutRequest"
         class="net.shibboleth.sp.saml.saml2.profile.impl.ProcessLogoutRequest" scope="prototype"
         p:parserPool-ref="shibboleth.ParserPool"
@@ -206,4 +209,7 @@
     <bean id="AddLogoutResponse"
         class="net.shibboleth.sp.saml.saml2.profile.impl.AddLogoutResponse" scope="prototype" />
     
+    <bean id="OutboundLogoutResponsePopulateAuditContext" parent="shibboleth.sp.AbstractPopulateAuditContext"
+        p:fieldExtractors="#{getObject('shibboleth.sp.saml.OutboundLogoutResponseAuditExtractors') ?: getObject('shibboleth.sp.saml.DefaultOutboundLogoutResponseAuditExtractors')}" />    
+    
 </beans>
diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-flow.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-flow.xml
index 3ae61e0..cab2e33 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-flow.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/saml2/saml2-flow.xml
@@ -44,7 +44,6 @@
         <evaluate expression="HandleMessageEarly" />
         <evaluate expression="CheckSignature" />
         <evaluate expression="HandleMessageLate" />
-<!--        <evaluate expression="PostResponsePopulateAuditContext" />-->        
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="PreProcessLogoutMessage" />
@@ -59,6 +58,7 @@
     <action-state id="DoLogoutRequest">
         <evaluate expression="PopulateDecryptionParameters" />
         <evaluate expression="DecryptNameIDs" />
+        <evaluate expression="InboundLogoutRequestPopulateAuditContext" />
         <evaluate expression="ProcessLogoutRequest" />
         <evaluate expression="'proceed'" />
         
@@ -81,6 +81,7 @@
         <evaluate expression="SAMLMetadataLookup" />
         <evaluate expression="InitializeRelyingPartyContextFromSAMLPeer" />
         <evaluate expression="SelectRelyingPartyConfiguration" />
+        <evaluate expression="PostLookupPopulateAuditContext" />
         <evaluate expression="SelectProfileConfiguration" />
         <evaluate expression="InitializeOutboundMessageContext" />
         <evaluate expression="InitializeMessageChannelSecurityContext" />
@@ -89,6 +90,7 @@
         <evaluate expression="CreateServletResponse" />
         <evaluate expression="AddLogoutResponse" />
         <evaluate expression="HandleOutboundMessage" />
+        <evaluate expression="OutboundLogoutResponsePopulateAuditContext" />
         <evaluate expression="EncodeMessage" />
         <evaluate expression="'proceed'" />
         
diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/initiator/saml2/saml2-flow.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/initiator/saml2/saml2-flow.xml
index e1690a1..3ccb229 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/initiator/saml2/saml2-flow.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/initiator/saml2/saml2-flow.xml
@@ -30,7 +30,9 @@
 
         <evaluate expression="HandleOutboundMessage" />
         <evaluate expression="PreserveRelayState" />
+        <evaluate expression="OutboundRequestPopulateAuditContext" />
         <evaluate expression="EncodeMessage" />
+        
         <evaluate expression="'proceed'" />
 
         <transition on="proceed" to="proceed" />
diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/saml2-common-beans.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/saml2-common-beans.xml
index 3346c8d..a44d7ae 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/saml2-common-beans.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/saml2-common-beans.xml
@@ -178,6 +178,9 @@
         </property>
     </bean>
     
+    <bean id="OutboundRequestPopulateAuditContext" parent="shibboleth.sp.AbstractPopulateAuditContext"
+        p:fieldExtractors="#{getObject('shibboleth.sp.saml.OutboundRequestAuditExtractors') ?: getObject('shibboleth.sp.saml.DefaultOutboundRequestAuditExtractors')}" />
+    
     <bean id="PreEncodeMessageHandler"
             class="org.opensaml.messaging.handler.impl.BasicMessageHandlerChain" scope="prototype">
         <property name="handlers">

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list