[java-identity-provider] branch master updated: IDP-465 - Add consent subflow to SAML 1 attribute query
Tom Zeller
tzeller at dragonacea.biz
Thu Sep 27 11:03:10 EDT 2018
This is an automated email from the git hooks/post-receive script.
tzeller pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=182c2f83a388c015d2a821f862d7b4cef5e0fd04
The following commit(s) were added to refs/heads/master by this push:
new 182c2f8 IDP-465 - Add consent subflow to SAML 1 attribute query
182c2f8 is described below
commit 182c2f83a388c015d2a821f862d7b4cef5e0fd04
Author: Tom Zeller <tzeller at dragonacea.biz>
AuthorDate: Thu Sep 27 10:02:54 2018 -0500
IDP-465 - Add consent subflow to SAML 1 attribute query
https://issues.shibboleth.net/jira/browse/IDP-465
---
.../flows/saml/saml1/attribute-query-beans.xml | 17 +++++++++++++++++
.../system/flows/saml/saml1/attribute-query-flow.xml | 20 ++++++++++++++++++++
2 files changed, 37 insertions(+)
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-beans.xml b/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-beans.xml
index 57bc868..f2d2ee7 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-beans.xml
@@ -16,6 +16,7 @@
p:placeholderPrefix="%{" p:placeholderSuffix="}" />
<import resource="common-beans.xml" />
+ <import resource="../../../../conf/intercept/consent-intercept-config.xml" />
<bean id="InitializeProfileRequestContext"
class="net.shibboleth.idp.profile.impl.InitializeProfileRequestContext" scope="prototype"
@@ -63,4 +64,20 @@
</property>
</bean>
+ <bean id="PopulateConsentInterceptContext"
+ class="net.shibboleth.idp.profile.interceptor.impl.PopulateProfileInterceptorContext" scope="prototype">
+ <property name="availableFlows">
+ <bean class="org.springframework.beans.factory.config.ListFactoryBean">
+ <property name="sourceList">
+ <list>
+ <ref bean="intercept/attribute-release-query" />
+ </list>
+ </property>
+ </bean>
+ </property>
+ <property name="activeFlowsLookupStrategy">
+ <bean class="com.google.common.base.Functions" factory-method="constant" c:_0="#{ {'attribute-release-query' } }" />
+ </property>
+ </bean>
+
</beans>
diff --git a/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml b/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml
index aa29069..b7a8174 100644
--- a/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/saml/saml1/attribute-query-flow.xml
@@ -18,7 +18,27 @@
<evaluate expression="ResolveAttributes" />
<evaluate expression="FilterAttributes" />
<evaluate expression="FilterByQueriedAttributeDesignators" />
+ <evaluate expression="'proceed'" />
+ <transition on="proceed" to="CheckConsentCondition" />
+ </action-state>
+
+ <decision-state id="CheckConsentCondition">
+ <if test="flowRequestContext.getActiveFlow().getApplicationContext().containsBean('shibboleth.consent.AttributeQuery.Condition') and flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.consent.AttributeQuery.Condition').apply(opensamlProfileRequestContext)"
+ then="ConsentSetup" else="ContinueProfileWork" />
+ </decision-state>
+
+ <action-state id="ConsentSetup">
+ <evaluate expression="PopulateConsentInterceptContext" />
+ <evaluate expression="opensamlProfileRequestContext.getSubcontext(T(net.shibboleth.idp.profile.context.ProfileInterceptorContext)).setAttemptedFlow(flowRequestContext.getActiveFlow().getApplicationContext().getBean('intercept/attribute-release-query'))" />
+ <transition on="success" to="ConsentFlow" />
+ </action-state>
+
+ <subflow-state id="ConsentFlow" subflow="intercept/attribute-release-query">
+ <input name="calledAsSubflow" value="true" />
+ <transition on="proceed" to="ContinueProfileWork"/>
+ </subflow-state>
+ <action-state id="ContinueProfileWork">
<evaluate expression="AddResponseShell" />
<evaluate expression="AddInResponseToToResponse" />
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list