[java-identity-provider] branch master updated: IDP-1323 - Return NoPassive for attribute query without consent
Tom Zeller
tzeller at dragonacea.biz
Thu Sep 20 15:24:29 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=0f7251372a8ecf3ca5eb83009d32c7f3009ab097
The following commit(s) were added to refs/heads/master by this push:
new 0f72513 IDP-1323 - Return NoPassive for attribute query without consent
0f72513 is described below
commit 0f7251372a8ecf3ca5eb83009d32c7f3009ab097
Author: Tom Zeller <tzeller at dragonacea.biz>
AuthorDate: Thu Sep 20 14:00:24 2018 -0500
IDP-1323 - Return NoPassive for attribute query without consent
Previous behavior was to prompt for consent, which is incorrect when
IsPassive is true.
https://issues.shibboleth.net/jira/browse/IDP-1323
---
.../system/flows/intercept/attribute-release-flow.xml | 10 +++++++++-
.../system/flows/intercept/intercept-abstract-flow.xml | 2 ++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/idp-conf/src/main/resources/system/flows/intercept/attribute-release-flow.xml b/idp-conf/src/main/resources/system/flows/intercept/attribute-release-flow.xml
index 800c26b..712a502 100644
--- a/idp-conf/src/main/resources/system/flows/intercept/attribute-release-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/intercept/attribute-release-flow.xml
@@ -79,10 +79,18 @@
<evaluate expression="ReadGlobalAttributeConsentFromStorage" />
<evaluate expression="'proceed'" />
- <transition on="proceed" to="TestForGlobalAttributeConsent" />
+ <transition on="proceed" to="TestForIsPassiveAndNoStorageRecords" />
</action-state>
+ <!-- Respond with NoPassive if IsPassive and no storage records were read. -->
+
+ <decision-state id="TestForIsPassiveAndNoStorageRecords">
+ <if test="opensamlProfileRequestContext.getSubcontext(T(net.shibboleth.idp.authn.context.AuthenticationContext)).isPassive() and opensamlProfileRequestContext.getSubcontext(T(net.shibboleth.idp.consent.context.ConsentContext)).getPreviousConsents().isEmpty()"
+ then="NoPassive" else="TestForGlobalAttributeConsent" />
+ </decision-state>
+
+
<!-- If global consent has been given by user, skip the rest of the flow. -->
<decision-state id="TestForGlobalAttributeConsent">
diff --git a/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml b/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml
index eef4a1f..d082010 100644
--- a/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml
@@ -23,6 +23,7 @@
<end-state id="ImpersonationViolation" />
<end-state id="RestartAuthentication" />
<end-state id="RuntimeException" />
+ <end-state id="NoPassive" />
<action-state id="LogRuntimeException">
<evaluate expression="T(org.slf4j.LoggerFactory).getLogger('net.shibboleth.idp.profile.interceptor').error('Uncaught runtime exception', flowExecutionException.getCause() ?: flowExecutionException)" />
@@ -41,6 +42,7 @@
<transition on="ImpersonationViolation" to="ImpersonationViolation" />
<transition on="RestartAuthentication" to="RestartAuthentication" />
<transition on="RuntimeException" to="RuntimeException" />
+ <transition on="NoPassive" to="NoPassive" />
</global-transitions>
</flow>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list