[java-identity-provider COMMIT] in /trunk/idp-conf/src/main/resources/system/flows/cas/login: login-beans.xml login-f...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Aug 25 11:34:15 EDT 2015
Author: serac
Date: Tue Aug 25 11:34:15 2015
New Revision: 7706
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7706&view=rev
Log:
IDP-791 Wire in client storage actions into CAS login flow.
https://issues.shibboleth.net/jira/projects/IDP/issues/IDP-791
Needs in-situ testing with consent+local storage enabled, which is
really the only use case for client storage use with CAS at present.
Modified:
trunk/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml
trunk/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml
Modified: trunk/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml?rev=7706&r1=7705&r2=7706&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml (original)
+++ trunk/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml Tue Aug 25 11:34:15 2015
@@ -14,6 +14,18 @@
p:profileId="#{T(net.shibboleth.idp.cas.config.LoginConfiguration).PROFILE_ID}"
p:loggingId="%{idp.service.logging.cas:SSO}"
p:browserProfile="true" />
+
+ <bean id="PopulateClientStorageLoadContext"
+ class="org.opensaml.storage.impl.client.PopulateClientStorageLoadContext"
+ scope="prototype"
+ p:storageServices-ref="#{ getObject('shibboleth.ClientStorageServices') != null
+ ? 'shibboleth.ClientStorageServices' : 'shibboleth.DefaultClientStorageServices' }" />
+
+ <bean id="PopulateClientStorageSaveContext"
+ class="org.opensaml.storage.impl.client.PopulateClientStorageSaveContext"
+ scope="prototype"
+ p:storageServices-ref="#{ getObject('shibboleth.ClientStorageServices') != null
+ ? 'shibboleth.ClientStorageServices' : 'shibboleth.DefaultClientStorageServices' }" />
<bean id="InitializeLogin"
class="net.shibboleth.idp.cas.flow.InitializeLoginAction" />
Modified: trunk/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml?rev=7706&r1=7705&r2=7706&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml (original)
+++ trunk/idp-conf/src/main/resources/system/flows/cas/login/login-flow.xml Tue Aug 25 11:34:15 2015
@@ -17,9 +17,16 @@
<evaluate expression="SelectRelyingPartyConfiguration" />
<evaluate expression="SelectProfileConfiguration" />
<evaluate expression="PublishProtocolRequest" />
+ <evaluate expression="PopulateClientStorageLoadContext" />
<evaluate expression="'proceed'" />
- <transition on="proceed" to="CheckAuthenticationRequired" />
+ <transition on="proceed" to="ClientStorageLoad" />
+ <transition on="NoLoadNeeded" to="CheckAuthenticationRequired" />
</action-state>
+
+ <subflow-state id="ClientStorageLoad" subflow="client-storage/read">
+ <input name="calledAsSubflow" value="true" />
+ <transition on="proceed" to="CheckAuthenticationRequired"/>
+ </subflow-state>
<action-state id="CheckAuthenticationRequired">
<evaluate expression="CheckAuthenticationRequired"/>
@@ -100,11 +107,20 @@
<action-state id="GrantServiceTicket">
<evaluate expression="GrantServiceTicket" />
<evaluate expression="PublishProtocolResponse" />
+ <evaluate expression="PopulateClientStorageSaveContext" />
<evaluate expression="'proceed'" />
+ <transition on="proceed" to="ClientStorageSave" />
+ <transition on="NoSaveNeeded" to="RedirectToService">
+ <set name="flowScope.redirectUrl" value="flowScope.serviceTicketResponse.redirectUrl" />
+ </transition>
+ </action-state>
+
+ <subflow-state id="ClientStorageSave" subflow="client-storage/write">
+ <input name="calledAsSubflow" value="true" />
<transition on="proceed" to="RedirectToService">
<set name="flowScope.redirectUrl" value="flowScope.serviceTicketResponse.redirectUrl" />
</transition>
- </action-state>
+ </subflow-state>
<!-- Redirect end states -->
<end-state id="RedirectToService" view="externalRedirect:#{flowScope.redirectUrl}">
More information about the commits
mailing list