[java-identity-provider] branch master updated: IDP-1159 - Add audit field to mark start time of requests

Scott Cantor cantor.2 at osu.edu
Fri Mar 29 14:39:33 EDT 2019


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

scantor pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=189c80f348728940864173a920ea2af6dbdffa2b

The following commit(s) were added to refs/heads/master by this push:
       new  189c80f   IDP-1159 - Add audit field to mark start time of requests
189c80f is described below

commit 189c80f348728940864173a920ea2af6dbdffa2b
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Mar 29 14:39:29 2019 -0400

    IDP-1159 - Add audit field to mark start time of requests
    
    https://issues.shibboleth.net/jira/browse/IDP-1159
---
 .../main/resources/system/conf/audit-system.xml    | 34 +++++++++++++++-------
 .../system/flows/admin/admin-abstract-beans.xml    |  3 ++
 .../resources/system/flows/admin/lockout-flow.xml  |  1 +
 .../resources/system/flows/admin/mdquery-flow.xml  |  1 +
 .../resources/system/flows/admin/metrics-flow.xml  |  1 +
 .../system/flows/admin/reload-metadata-flow.xml    |  1 +
 .../system/flows/admin/reload-service-flow.xml     |  1 +
 .../system/flows/admin/resolvertest-flow.xml       |  1 +
 .../resources/system/flows/admin/status-flow.xml   |  1 +
 .../resources/system/flows/admin/storage-flow.xml  |  1 +
 .../system/flows/admin/unlock-keys-flow.xml        |  1 +
 .../system/flows/cas/cas-abstract-beans.xml        |  3 ++
 .../system/flows/cas/login/login-flow.xml          |  1 +
 .../system/flows/cas/proxy/proxy-flow.xml          |  1 +
 .../flows/cas/proxyValidate/proxyValidate-flow.xml |  1 +
 .../flows/cas/samlValidate/samlValidate-flow.xml   |  1 +
 .../cas/serviceValidate/serviceValidate-flow.xml   |  1 +
 .../system/flows/cas/validate/validate-flow.xml    |  1 +
 .../resources/system/flows/logout/logout-beans.xml |  3 ++
 .../resources/system/flows/logout/logout-flow.xml  |  1 +
 .../flows/logout/logout-propagation-flow.xml       |  1 +
 .../system/flows/saml/saml-abstract-beans.xml      |  3 ++
 .../flows/saml/saml1/artifact-resolution-flow.xml  |  1 +
 .../flows/saml/saml1/attribute-query-flow.xml      |  1 +
 .../system/flows/saml/saml1/sso-abstract-flow.xml  |  1 +
 .../flows/saml/saml2/artifact-resolution-flow.xml  |  1 +
 .../flows/saml/saml2/attribute-query-flow.xml      |  1 +
 .../system/flows/saml/saml2/idwsf-ssos-flow.xml    |  1 +
 .../system/flows/saml/saml2/slo-back-flow.xml      |  1 +
 .../flows/saml/saml2/slo-front-abstract-flow.xml   |  1 +
 .../system/flows/saml/saml2/sso-abstract-flow.xml  |  1 +
 .../net/shibboleth/idp/profile/IdPAuditFields.java |  3 ++
 32 files changed, 65 insertions(+), 10 deletions(-)

diff --git a/idp-conf/src/main/resources/system/conf/audit-system.xml b/idp-conf/src/main/resources/system/conf/audit-system.xml
index d1bf2e2..9dc7df3 100644
--- a/idp-conf/src/main/resources/system/conf/audit-system.xml
+++ b/idp-conf/src/main/resources/system/conf/audit-system.xml
@@ -61,6 +61,20 @@
     -->
     <import resource="../../conf/audit.xml"/>
 
+    <bean id="shibboleth.DefaultFlowStartAuditExtractors" lazy-init="true"
+            class="org.springframework.beans.factory.config.MapFactoryBean">
+        <property name="sourceMap">
+            <map>
+                <entry>
+                    <key>
+                        <util:constant static-field="net.shibboleth.idp.profile.IdPAuditFields.START_TIME"/>
+                    </key>
+                    <bean parent="shibboleth.Functions.Expression" c:_0="T(java.time.Instant).now()" />
+                </entry>
+            </map>
+        </property>
+    </bean>
+
     <bean id="shibboleth.DefaultPostDecodeAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
@@ -194,7 +208,7 @@
         </property>
     </bean>
         
-    <bean id="shibboleth.DefaultPostLookupAuditExtractors"
+    <bean id="shibboleth.DefaultPostLookupAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -214,7 +228,7 @@
         </property>
     </bean>
     
-    <bean id="shibboleth.DefaultPostAssertionAuditExtractors"
+    <bean id="shibboleth.DefaultPostAssertionAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -331,7 +345,7 @@
         </property>
     </bean>
         
-    <bean id="shibboleth.DefaultPostResponseAuditExtractors"
+    <bean id="shibboleth.DefaultPostResponseAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -497,7 +511,7 @@
         </property>
     </bean>
     
-    <bean id="shibboleth.DefaultLogoutRequestAuditExtractors"
+    <bean id="shibboleth.DefaultLogoutRequestAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -554,7 +568,7 @@
         </property>
     </bean>
     
-    <bean id="shibboleth.DefaultLogoutAuditExtractors"
+    <bean id="shibboleth.DefaultLogoutAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -601,7 +615,7 @@
         </property>
     </bean>
         
-    <bean id="shibboleth.DefaultErrorViewAuditExtractors"
+    <bean id="shibboleth.DefaultErrorViewAuditExtractors" lazy-init="true"
             class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -655,7 +669,7 @@
         </property>
     </bean>
 
-    <bean id="shibboleth.DefaultCASLoginAuditExtractors"
+    <bean id="shibboleth.DefaultCASLoginAuditExtractors" lazy-init="true"
           class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -741,7 +755,7 @@
         </property>
     </bean>
 
-    <bean id="shibboleth.DefaultCASValidationAuditExtractors"
+    <bean id="shibboleth.DefaultCASValidationAuditExtractors" lazy-init="true"
           class="org.springframework.beans.factory.config.MapFactoryBean">
         <property name="sourceMap">
             <map>
@@ -814,7 +828,7 @@
         </property>
     </bean>
 
-    <bean id="shibboleth.DefaultCASProxyAuditExtractors"
+    <bean id="shibboleth.DefaultCASProxyAuditExtractors" lazy-init="true"
           class="org.springframework.beans.factory.config.MapFactoryBean"
           parent="shibboleth.DefaultCASValidationAuditExtractors">
         <property name="sourceMap">
@@ -829,7 +843,7 @@
         </property>
     </bean>
 
-    <bean id="shibboleth.DefaultAdminAuditExtractors"
+    <bean id="shibboleth.DefaultAdminAuditExtractors" lazy-init="true"
           class="org.springframework.beans.factory.config.MapFactoryBean"
           parent="shibboleth.DefaultErrorViewAuditExtractors" />
     
diff --git a/idp-conf/src/main/resources/system/flows/admin/admin-abstract-beans.xml b/idp-conf/src/main/resources/system/flows/admin/admin-abstract-beans.xml
index 6f2cd38..16a1458 100644
--- a/idp-conf/src/main/resources/system/flows/admin/admin-abstract-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/admin-abstract-beans.xml
@@ -22,6 +22,9 @@
         class="net.shibboleth.idp.profile.impl.InitializeProfileRequestContext" scope="prototype"
         p:profileId-ref="shibboleth.AdminProfileId" />
 
+    <bean id="FlowStartPopulateAuditContext" parent="shibboleth.AbstractPopulateAuditContext"
+        p:fieldExtractors="#{getObject('shibboleth.FlowStartAuditExtractors') ?: getObject('shibboleth.DefaultFlowStartAuditExtractors')}" />
+
     <bean id="PopulateMetricContext"
         class="org.opensaml.profile.action.impl.PopulateMetricContext" scope="prototype"
         p:metricStrategy="#{getObject('shibboleth.metrics.MetricStrategy')}" />
diff --git a/idp-conf/src/main/resources/system/flows/admin/lockout-flow.xml b/idp-conf/src/main/resources/system/flows/admin/lockout-flow.xml
index 1a3fa33..0b4c2ed 100644
--- a/idp-conf/src/main/resources/system/flows/admin/lockout-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/lockout-flow.xml
@@ -16,6 +16,7 @@
         
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <!-- Branch to determine if authentication is required. -->
diff --git a/idp-conf/src/main/resources/system/flows/admin/mdquery-flow.xml b/idp-conf/src/main/resources/system/flows/admin/mdquery-flow.xml
index 5213e26..cc3af4c 100644
--- a/idp-conf/src/main/resources/system/flows/admin/mdquery-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/mdquery-flow.xml
@@ -12,6 +12,7 @@
 
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/admin/metrics-flow.xml b/idp-conf/src/main/resources/system/flows/admin/metrics-flow.xml
index c3fe161..e3a7ad7 100644
--- a/idp-conf/src/main/resources/system/flows/admin/metrics-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/metrics-flow.xml
@@ -14,6 +14,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <!-- Branch to determine if authentication is required. -->
diff --git a/idp-conf/src/main/resources/system/flows/admin/reload-metadata-flow.xml b/idp-conf/src/main/resources/system/flows/admin/reload-metadata-flow.xml
index 5d54c70..98efee7 100644
--- a/idp-conf/src/main/resources/system/flows/admin/reload-metadata-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/reload-metadata-flow.xml
@@ -12,6 +12,7 @@
         
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <!-- Branch to determine if authentication is required. -->
diff --git a/idp-conf/src/main/resources/system/flows/admin/reload-service-flow.xml b/idp-conf/src/main/resources/system/flows/admin/reload-service-flow.xml
index 765db2c..1ca27bc 100644
--- a/idp-conf/src/main/resources/system/flows/admin/reload-service-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/reload-service-flow.xml
@@ -12,6 +12,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <!-- Branch to determine if authentication is required. -->
diff --git a/idp-conf/src/main/resources/system/flows/admin/resolvertest-flow.xml b/idp-conf/src/main/resources/system/flows/admin/resolvertest-flow.xml
index 3456555..d938a90 100644
--- a/idp-conf/src/main/resources/system/flows/admin/resolvertest-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/resolvertest-flow.xml
@@ -12,6 +12,7 @@
 
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/admin/status-flow.xml b/idp-conf/src/main/resources/system/flows/admin/status-flow.xml
index 6bcc446..0db50f4 100644
--- a/idp-conf/src/main/resources/system/flows/admin/status-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/status-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <!-- Branch to determine if authentication is required. -->
diff --git a/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml b/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
index 9a179aa..22dbc40 100644
--- a/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
@@ -17,6 +17,7 @@
         
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <!-- Branch to determine if authentication is required. -->
diff --git a/idp-conf/src/main/resources/system/flows/admin/unlock-keys-flow.xml b/idp-conf/src/main/resources/system/flows/admin/unlock-keys-flow.xml
index 06dd0cb..b748f61 100644
--- a/idp-conf/src/main/resources/system/flows/admin/unlock-keys-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/unlock-keys-flow.xml
@@ -7,6 +7,7 @@
         
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <!-- Branch to determine if authentication is required. -->
diff --git a/idp-conf/src/main/resources/system/flows/cas/cas-abstract-beans.xml b/idp-conf/src/main/resources/system/flows/cas/cas-abstract-beans.xml
index f7c84e8..38d4aa6 100644
--- a/idp-conf/src/main/resources/system/flows/cas/cas-abstract-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/cas-abstract-beans.xml
@@ -21,6 +21,9 @@
 
     <!-- These are beans that are common to all CAS protocol flows. -->
 
+    <bean id="FlowStartPopulateAuditContext" parent="shibboleth.AbstractPopulateAuditContext"
+        p:fieldExtractors="#{getObject('shibboleth.FlowStartAuditExtractors') ?: getObject('shibboleth.DefaultFlowStartAuditExtractors')}" />
+
     <bean id="PopulateMetricContext"
         class="org.opensaml.profile.action.impl.PopulateMetricContext" scope="prototype"
         p:metricStrategy="#{getObject('shibboleth.metrics.MetricStrategy')}" />
diff --git a/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml b/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml
index d613646..fae5464 100644
--- a/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml
@@ -10,6 +10,7 @@
             <evaluate result="flowScope.hasAuthenticationContext" expression="false" />
         </on-entry>
         <evaluate expression="InitializeProfileRequestContext"/>
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="PopulateMetricContext" />
         <evaluate expression="InitializeLogin" />
         <evaluate expression="PopulateClientStorageLoadContext" />
diff --git a/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-flow.xml b/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-flow.xml
index 13dcbad..2ba28db 100644
--- a/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-flow.xml
@@ -11,6 +11,7 @@
 
     <action-state id="InitializeProxy">
         <evaluate expression="InitializeProfileRequestContext"/>
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="PopulateMetricContext" />
         <evaluate expression="InitializeProxy" />
         <evaluate expression="BuildRelyingPartyContext" />
diff --git a/idp-conf/src/main/resources/system/flows/cas/proxyValidate/proxyValidate-flow.xml b/idp-conf/src/main/resources/system/flows/cas/proxyValidate/proxyValidate-flow.xml
index 7918e25..8ad5cf8 100644
--- a/idp-conf/src/main/resources/system/flows/cas/proxyValidate/proxyValidate-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/proxyValidate/proxyValidate-flow.xml
@@ -8,6 +8,7 @@
     <!-- Bootstrap action has to be at the "top" of the flow after this flow prepends itself to parent. -->
     <action-state id="InitializeValidate">
         <evaluate expression="InitializeProfileRequestContext"/>
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="PopulateMetricContext" />
         <evaluate expression="InitializeValidate" />
         <evaluate expression="'proceed'" />
diff --git a/idp-conf/src/main/resources/system/flows/cas/samlValidate/samlValidate-flow.xml b/idp-conf/src/main/resources/system/flows/cas/samlValidate/samlValidate-flow.xml
index bbbd76e..80257bb 100644
--- a/idp-conf/src/main/resources/system/flows/cas/samlValidate/samlValidate-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/samlValidate/samlValidate-flow.xml
@@ -8,6 +8,7 @@
     <!-- Bootstrap action has to be at the "top" of the flow after this flow prepends itself to parent. -->
     <action-state id="InitializeValidate">
         <evaluate expression="InitializeProfileRequestContext"/>
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="PopulateMetricContext" />
         <evaluate expression="DecodeMessage" />
         <evaluate expression="ProcessSamlMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/cas/serviceValidate/serviceValidate-flow.xml b/idp-conf/src/main/resources/system/flows/cas/serviceValidate/serviceValidate-flow.xml
index f07af3e..abd7f4d 100644
--- a/idp-conf/src/main/resources/system/flows/cas/serviceValidate/serviceValidate-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/serviceValidate/serviceValidate-flow.xml
@@ -8,6 +8,7 @@
     <!-- Bootstrap action has to be at the "top" of the flow after this flow prepends itself to parent. -->
     <action-state id="InitializeValidate">
         <evaluate expression="InitializeProfileRequestContext"/>
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="PopulateMetricContext" />
         <evaluate expression="InitializeValidate" />
         <evaluate expression="'proceed'" />
diff --git a/idp-conf/src/main/resources/system/flows/cas/validate/validate-flow.xml b/idp-conf/src/main/resources/system/flows/cas/validate/validate-flow.xml
index 934c0a9..c5b6a8c 100644
--- a/idp-conf/src/main/resources/system/flows/cas/validate/validate-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/validate/validate-flow.xml
@@ -8,6 +8,7 @@
     <!-- Bootstrap action has to be at the "top" of the flow after this flow prepends itself to parent. -->
     <action-state id="InitializeValidate">
         <evaluate expression="InitializeProfileRequestContext"/>
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="PopulateMetricContext" />
         <evaluate expression="InitializeValidate" />
         <evaluate expression="'proceed'" />
diff --git a/idp-conf/src/main/resources/system/flows/logout/logout-beans.xml b/idp-conf/src/main/resources/system/flows/logout/logout-beans.xml
index b8a0840..a4f6a78 100644
--- a/idp-conf/src/main/resources/system/flows/logout/logout-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/logout/logout-beans.xml
@@ -29,6 +29,9 @@
         p:loggingId="%{idp.service.logging.logout:Logout}"
         p:browserProfile="true" />
 
+    <bean id="FlowStartPopulateAuditContext" parent="shibboleth.AbstractPopulateAuditContext"
+        p:fieldExtractors="#{getObject('shibboleth.FlowStartAuditExtractors') ?: getObject('shibboleth.DefaultFlowStartAuditExtractors')}" />
+
     <bean id="PopulateMetricContext"
         class="org.opensaml.profile.action.impl.PopulateMetricContext" scope="prototype"
         p:metricStrategy="#{getObject('shibboleth.metrics.MetricStrategy')}" />
diff --git a/idp-conf/src/main/resources/system/flows/logout/logout-flow.xml b/idp-conf/src/main/resources/system/flows/logout/logout-flow.xml
index 8b5122d..a2556e5 100644
--- a/idp-conf/src/main/resources/system/flows/logout/logout-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/logout/logout-flow.xml
@@ -4,6 +4,7 @@
 
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="PopulateMetricContext" />
         <evaluate expression="PopulateUserAgentContext" />
         <evaluate expression="'proceed'" />
diff --git a/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml b/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml
index 8255e7a..117055e 100644
--- a/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml
@@ -6,6 +6,7 @@
 
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
 
         <transition on="proceed" to="PropagateLogout" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml-abstract-beans.xml b/idp-conf/src/main/resources/system/flows/saml/saml-abstract-beans.xml
index 9c8ea49..1bedd54 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml-abstract-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml-abstract-beans.xml
@@ -20,6 +20,9 @@
 
     <!-- These are beans that are common to most or all SAML profile flows, regardless of version. -->
 
+    <bean id="FlowStartPopulateAuditContext" parent="shibboleth.AbstractPopulateAuditContext"
+        p:fieldExtractors="#{getObject('shibboleth.FlowStartAuditExtractors') ?: getObject('shibboleth.DefaultFlowStartAuditExtractors')}" />
+
     <bean id="PopulateMetricContext"
         class="org.opensaml.profile.action.impl.PopulateMetricContext" scope="prototype"
         p:metricStrategy="#{getObject('shibboleth.metrics.MetricStrategy')}" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml1/artifact-resolution-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml1/artifact-resolution-flow.xml
index 7f9ecfe..eff4894 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml1/artifact-resolution-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml1/artifact-resolution-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml
index b7a8174..ac8da6f 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml1/sso-abstract-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml1/sso-abstract-flow.xml
index 38b4471..75d4617 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml1/sso-abstract-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml1/sso-abstract-flow.xml
@@ -9,6 +9,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml2/artifact-resolution-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml2/artifact-resolution-flow.xml
index 777048c..face40b 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml2/artifact-resolution-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml2/artifact-resolution-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml2/attribute-query-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml2/attribute-query-flow.xml
index cd23898..f8ce6ba 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml2/attribute-query-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml2/attribute-query-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
 
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml2/idwsf-ssos-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml2/idwsf-ssos-flow.xml
index b232483..080a1ac 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml2/idwsf-ssos-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml2/idwsf-ssos-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
 
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml2/slo-back-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml2/slo-back-flow.xml
index f4b3802..8f075f3 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml2/slo-back-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml2/slo-back-flow.xml
@@ -11,6 +11,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml2/slo-front-abstract-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml2/slo-front-abstract-flow.xml
index f06f516..42ed481 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml2/slo-front-abstract-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml2/slo-front-abstract-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-flow.xml
index b0aa91a..a0becfe 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-flow.xml
@@ -7,6 +7,7 @@
     
     <action-state id="InitializeProfileRequestContext">
         <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="FlowStartPopulateAuditContext" />
         <evaluate expression="'proceed'" />
         
         <transition on="proceed" to="DecodeMessage" />
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPAuditFields.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPAuditFields.java
index fbaa587..24a6d29 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPAuditFields.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPAuditFields.java
@@ -26,6 +26,9 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
  */
 public final class IdPAuditFields {
 
+    /** Event starting timestamp field. @since 4.0.0 */
+    @Nonnull @NotEmpty public static final String START_TIME = "ST";
+
     /** Event timestamp field. */
     @Nonnull @NotEmpty public static final String EVENT_TIME = "T";
 

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


More information about the commits mailing list