[java-identity-provider COMMIT] in /trunk: idp-conf/src/main/resources/flows/authn/authn-beans.xml idp-conf/src/main/...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Oct 14 16:07:15 EDT 2013
Author: scantor
Date: Mon Oct 14 16:07:14 2013
New Revision: 4857
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4857&view=rev
Log:
Add action to handle identity switch, and fix up authn flow.
Added:
trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/InvalidateSession.java (with props)
trunk/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/InvalidateSessionTest.java (with props)
Modified:
trunk/idp-conf/src/main/resources/flows/authn/authn-beans.xml
trunk/idp-conf/src/main/resources/flows/authn/authn-flow.xml
Modified: trunk/idp-conf/src/main/resources/flows/authn/authn-beans.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/flows/authn/authn-beans.xml?rev=4857&r1=4856&r2=4857&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/flows/authn/authn-beans.xml (original)
+++ trunk/idp-conf/src/main/resources/flows/authn/authn-beans.xml Mon Oct 14 16:07:14 2013
@@ -38,9 +38,13 @@
<bean id="FinalizeAuthenticationFlow" class="net.shibboleth.idp.authn.impl.FinalizeAuthenticationFlow" scope="prototype" />
+ <bean id="InvalidateSession" class="net.shibboleth.idp.session.impl.InvalidateSession" scope="prototype"
+ p:sessionManager-ref="shibboleth.SessionManager" />
+
<bean id="FinalizeAuthentication" class="net.shibboleth.idp.authn.impl.FinalizeAuthentication" scope="prototype" />
<bean id="UpdateSessionWithAuthenticationResult" class="net.shibboleth.idp.session.impl.UpdateSessionWithAuthenticationResult" scope="prototype"
- p:enabled="${idp.session.enabled}" />
+ p:enabled="${idp.session.enabled}"
+ p:sessionManager-ref="shibboleth.SessionManager" />
</beans>
Modified: trunk/idp-conf/src/main/resources/flows/authn/authn-flow.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/flows/authn/authn-flow.xml?rev=4857&r1=4856&r2=4857&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/flows/authn/authn-flow.xml (original)
+++ trunk/idp-conf/src/main/resources/flows/authn/authn-flow.xml Mon Oct 14 16:07:14 2013
@@ -15,10 +15,10 @@
<transition on="proceed" to="ExtractActiveAuthenticationResults" />
</action-state>
- <action state id="PopulateSessionContext">
+ <action-state id="PopulateSessionContext">
<evaluate expression="PopulateSessionContext" />
<transition on="proceed" to="ExtractActiveAuthenticationResults" />
- </action>
+ </action-state>
<action-state id="ExtractActiveAuthenticationResults">
<evaluate expression="ExtractActiveAuthenticationResults" />
@@ -65,10 +65,20 @@
<!-- This wraps up a fresh login by checking on the result of subject c14n. -->
<action-state id="FinalizeAuthenticationFlow">
<evaluate expression="FinalizeAuthenticationFlow" />
-
+
<transition on="proceed" to="FinalizeAuthentication" />
- <!-- TODO: support appropriate behavior for IdentitySwitch here, maybe as a subflow -->
+ <!-- This can be routed to something more complex if desired. -->
+ <transition on="IdentitySwitch" to="InvalidateSession" />
+ </action-state>
+
+ <!-- Handles an identity switch by dumping the old session. -->
+ <action-state id="InvalidateSession">
+ <evaluate expression="InvalidateSession" />
+
+ <!-- Loop back up to finalize flow, guaranteed not to trigger a switch. -->
+ <transition on="proceed" to="FinalizeAuthenticationFlow" />
+ <transition on="InputOutputError" to="FinalizeAuthenticationFlow" />
</action-state>
<!-- Wraps up the subflow by producing a SubjectContext. -->
More information about the commits
mailing list