[java-identity-provider COMMIT] in /trunk/idp-conf/src/main/resources: conf/authn/mfa-authn-config.xml system/flows/a...

noreply at shibboleth.net noreply at shibboleth.net
Tue May 24 16:27:21 EDT 2016


Author: scantor
Date: Tue May 24 16:27:20 2016
New Revision: 8252

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8252&view=rev
Log:
IDP-962 - Login flow or framework for combining authentication factors

Checkpoint work on flow design.

Modified:
    trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
    trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-beans.xml
    trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-flow.xml

Modified: trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml?rev=8252&r1=8251&r2=8252&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml	(original)
+++ trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml	Tue May 24 16:27:20 2016
@@ -16,9 +16,6 @@
     The default behavior of this flow is to merge together the Principals generated by each factor, and
     execute a default Function at each point that completes execution if the resulting Principal collection
     satisfies the request.
-    
-    For more advanced scenarios, you can provide a mapping between one or more of the flows identified above
-    and an instance of TBD to customize how the MFA flow handles the results and transitions between steps. 
     -->
     <util:map id="shibboleth.authn.MFA.TransitionMap">
         <entry key="">

Modified: trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-beans.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-beans.xml?rev=8252&r1=8251&r2=8252&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-beans.xml	(original)
+++ trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-beans.xml	Tue May 24 16:27:20 2016
@@ -23,5 +23,9 @@
     <bean id="PopulateMultiFactorAuthenticationContext" scope="prototype"
         class="net.shibboleth.idp.authn.impl.PopulateMultiFactorAuthenticationContext"
         p:transitionMap-ref="shibboleth.authn.MFA.TransitionMap" />
+        
+    <bean id="TransitionMultiFactorAuthentication" scope="prototype"
+        class="net.shibboleth.idp.authn.impl.TransitionMultiFactorAuthentication"
+        p:resultCachingPredicate="#{getObject('shibboleth.authn.MFA.resultCachingPredicate')}" />
 
 </beans>

Modified: trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-flow.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-flow.xml?rev=8252&r1=8251&r2=8252&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-flow.xml	(original)
+++ trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-flow.xml	Tue May 24 16:27:20 2016
@@ -13,13 +13,28 @@
         <evaluate expression="PopulateMultiFactorAuthenticationContext" />
         <evaluate expression="'proceed'" />
         
-        <transition on="proceed" to="CheckForFlowReuse" />
+        <transition on="proceed" to="TransitionMultiFactorAuthentication" />
         
         <on-exit>
             <evaluate expression="opensamlProfileRequestContext.getSubcontext(T(net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext))" result="flowScope.mfaContext" />
-            <evaluate expression="mfaContext.getTransitionMap().get(null).getNextFlowStrategy('proceed').apply(opensamlProfileRequestContext)" result="flowScope.nextFlowId" />
         </on-exit>
     </action-state>
+    
+    <action-state id="TransitionMultiFactorAuthentication">
+        <evaluate expression="TransitionMultiFactorAuthentication" />
+        <evaluate expression="'proceed'" />
+        
+        <transition on="proceed" to="CheckProceed" />
+        <transition on="ReselectFlow" to="TransitionMultiFactorAuthentication" />
+    </action-state>
+    
+    <decision-state id="CheckProceed">
+        <if test="mfaContext.getNextFlowId() != null" then="CallSubflow" else="proceed" />
+    </decision-state>
+    
+    <subflow-state id="CallSubflow" subflow="#{mfaContext.getNextFlowId()}">
+        <transition to="TransitionMultiFactorAuthentication" />
+    </subflow-state>
 
     <bean-import resource="mfa-authn-beans.xml" />
 



More information about the commits mailing list