[java-identity-provider COMMIT] in /trunk: idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/CheckAuthentic...

noreply at shibboleth.net noreply at shibboleth.net
Thu Oct 29 09:16:44 EDT 2015


Author: serac
Date: Thu Oct 29 09:16:44 2015
New Revision: 7903

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7903&view=rev
Log:
IDP-846 Ensure IdP session has authn results.

https://issues.shibboleth.net/jira/browse/IDP-846
Add IdPSession#getAuthenticationResults().size() > 0 check to CAS login
flow action that determines whether authentication is required.

Modified:
    trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/CheckAuthenticationRequiredAction.java
    trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/Events.java
    trunk/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
    trunk/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckAuthenticationRequiredActionTest.java
    trunk/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml
    trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java

Modified: trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/CheckAuthenticationRequiredAction.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/CheckAuthenticationRequiredAction.java?rev=7903&r1=7902&r2=7903&view=diff
==============================================================================
--- trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/CheckAuthenticationRequiredAction.java	(original)
+++ trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/CheckAuthenticationRequiredAction.java	Thu Oct 29 09:16:44 2015
@@ -36,7 +36,7 @@
  * <ul>
  *     <li>{@link Events#GatewayRequested GatewayRequested} - Authentication not required since no ticket is requested.</li>
  *     <li>{@link Events#RenewRequested RenewRequested} - Authentication required regardless of existing session.</li>
- *     <li>{@link Events#SessionFound SessionFound} - Authentication not required since session already exists.</li>
+ *     <li>{@link Events#SessionValid SessionValid} - Authentication not required since session already exists.</li>
  *     <li>{@link Events#SessionNotFound SessionNotFound} - Authentication required since no active session exists.</li>
  * </ul>
  *
@@ -72,8 +72,8 @@
             log.debug("Found session ID {}", session.getId());
             try {
                 // Timeout check updates session lastActivityInstant field
-                if (session.checkTimeout()) {
-                    return Events.SessionFound.event(this);
+                if (session.checkTimeout() && session.getAuthenticationResults().size() > 0) {
+                    return Events.SessionValid.event(this);
                 }
             } catch (SessionException e) {
                 log.debug("Error performing session timeout check. Assuming session has expired.", e);
@@ -81,6 +81,6 @@
         } catch (IllegalStateException e) {
             log.debug("IdP session not found");
         }
-        return Events.SessionNotFound.event(this);
+        return Events.SessionInvalid.event(this);
     }
 }

Modified: trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/Events.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/Events.java?rev=7903&r1=7902&r2=7903&view=diff
==============================================================================
--- trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/Events.java	(original)
+++ trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/Events.java	Thu Oct 29 09:16:44 2015
@@ -26,11 +26,11 @@
  */
 public enum Events {
 
-    /** Active IdP session not found. */
-    SessionNotFound,
+    /** No valid IdP session exists. */
+    SessionInvalid,
 
-    /** Active IdP session found. */
-    SessionFound,
+    /** Valid IdP session found. */
+    SessionValid,
 
     /** CAS protocol renew flag specified to force authentication. */
     RenewRequested,

Modified: trunk/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java?rev=7903&r1=7902&r2=7903&view=diff
==============================================================================
--- trunk/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java	(original)
+++ trunk/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java	Thu Oct 29 09:16:44 2015
@@ -17,6 +17,10 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
+import java.util.Arrays;
+import java.util.HashSet;
+
+import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
 import net.shibboleth.idp.cas.ticket.ProxyTicket;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
@@ -72,7 +76,8 @@
         return (ProfileRequestContext) context.getConversationScope().get(ProfileRequestContext.BINDING_KEY);
     }
 

[... 145 lines stripped ...]


More information about the commits mailing list