[java-identity-provider COMMIT] in /trunk: idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult....

noreply at shibboleth.net noreply at shibboleth.net
Fri May 20 23:22:16 EDT 2016


Author: scantor
Date: Fri May 20 23:22:15 2016
New Revision: 8248

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

First draft of orchestrator for the MFA flow, along with design work in progress.

Added:
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java   (with props)
Modified:
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/MultiFactorAuthenticationTransition.java
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/MultiFactorAuthenticationContext.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContext.java
    trunk/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/MultiFactorAuthenticationTransitionTest.java
    trunk/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java
    trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
    trunk/idp-conf/src/main/resources/system/flows/authn/mfa-authn-flow.xml

Modified: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java?rev=8248&r1=8247&r2=8248&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java	(original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java	Fri May 20 23:22:15 2016
@@ -64,6 +64,9 @@
     /** The last time, in milliseconds since the epoch, this result was used to bypass authentication. */
     @Positive private long lastActivityInstant;
     
+    /** Tracks whether a result was loaded from a previous session or created as part of the current request. */
+    private boolean previousResult;
+    
     /**
      * Constructor.
      * 
@@ -154,10 +157,32 @@
     }
 
     /**
-     * Sets the last activity instant, in milliseconds since the epoch, for this result to the current time.
+     * Set the last activity instant, in milliseconds since the epoch, for this result to the current time.
      */
     public void setLastActivityInstantToNow() {
         lastActivityInstant = System.currentTimeMillis();
+    }
+    
+    /**
+     * Get whether this result was loaded from a session as the product of a previous request.
+     * 
+     * @return true iff this result was produced as part of an earlier request
+     * 
+     * @since 3.3.0
+     */
+    public boolean isPreviousResult() {
+        return previousResult;
+    }
+    
+    /**
+     * Get whether this result was loaded from a session as the product of a previous request.
+     * 
+     * @param flag flag to set
+     * 
+     * @since 3.3.0
+     */
+    public void setPreviousResult(final boolean flag) {
+        previousResult = flag;
     }
 
     /** {@inheritDoc} */
@@ -191,7 +216,8 @@
         return MoreObjects.toStringHelper(this).add("authenticationFlowId", authenticationFlowId)
                 .add("authenticatedPrincipal", getSubjectName())
                 .add("authenticationInstant", new DateTime(authenticationInstant))
-                .add("lastActivityInstant", new DateTime(lastActivityInstant)).toString();
+                .add("lastActivityInstant", new DateTime(lastActivityInstant))
+                .add("previousResult", previousResult).toString();
     }
     
     /**

Modified: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/MultiFactorAuthenticationTransition.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/MultiFactorAuthenticationTransition.java?rev=8248&r1=8247&r2=8248&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/MultiFactorAuthenticationTransition.java	(original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/MultiFactorAuthenticationTransition.java	Fri May 20 23:22:15 2016
@@ -17,6 +17,8 @@
 
 package net.shibboleth.idp.authn;
 
+import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -190,8 +192,9 @@
      * 
      * <p>The default condition searches for a {@link MultiFactorAuthenticationContext} child of
      * an {@link AuthenticationContext} child of the input context, and evaluates the
-     * {@link MultiFactorAuthenticationContext#getMergedAuthenticationResult()} property for suitability
-     * to satisfy the request based on supported custom {@link Principal} objects.</p>

[... 374 lines stripped ...]


More information about the commits mailing list