[java-identity-provider] branch main updated: IDP-1612 - Improve event handling / completion in MFA flow

Scott Cantor cantor.2 at osu.edu
Thu Aug 3 16:11:23 UTC 2023


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

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

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

The following commit(s) were added to refs/heads/main by this push:
     new 33bf29bd2 IDP-1612 - Improve event handling / completion in MFA flow
33bf29bd2 is described below

commit 33bf29bd2a5daf1d57a9a0f226d8b258238271e2
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Aug 3 12:11:20 2023 -0400

    IDP-1612 - Improve event handling / completion in MFA flow
    
    https://shibboleth.atlassian.net/browse/IDP-1612
    
    Enhancement to leverage "proceed" as a signal from transition rules.
---
 .../idp/authn/impl/TransitionMultiFactorAuthentication.java       | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
index a7006b789..b7337ae9b 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
@@ -221,6 +221,14 @@ public class TransitionMultiFactorAuthentication extends AbstractAuthenticationA
                 flowId = transition.getNextFlowStrategy("*").apply(profileRequestContext);
             }
         }
+
+        // IDP-1612 improvement: Check for explicit transition of "proceed".
+        if (EventIds.PROCEED_EVENT_ID.equals(flowId)) {
+            // Install the proceed event to override any previous event, and null the flow to run to signal completion.
+            mfaContext.setEvent(flowId);
+            flowId = null;
+        }
+        
         if (flowId != null) {
             log.debug("{} MFA flow transition after '{}' event to '{}' flow", getLogPrefix(), previousEvent, flowId);
             mfaContext.setNextFlowId(flowId);

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


More information about the commits mailing list