[java-identity-provider] branch master updated: IDP-1114 - Better control over AuthenticationResult reuse
Scott Cantor
cantor.2 at osu.edu
Wed Apr 12 14:56:49 EDT 2017
This is an automated email from the git hooks/post-receive script.
scantor 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=b7a2b5f8047e6b99c5c970a4b8c53fb207fa8bbb
The following commit(s) were added to refs/heads/master by this push:
new b7a2b5f IDP-1114 - Better control over AuthenticationResult reuse
b7a2b5f is described below
commit b7a2b5f8047e6b99c5c970a4b8c53fb207fa8bbb
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Apr 12 14:56:46 2017 -0400
IDP-1114 - Better control over AuthenticationResult reuse
https://issues.shibboleth.net/jira/browse/IDP-1114
Honor reuse condition for MFA subflow reuse.
---
.../authn/impl/TransitionMultiFactorAuthentication.java | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
index f61ebc3..f05fd1b 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
@@ -267,11 +267,16 @@ public class TransitionMultiFactorAuthentication extends AbstractAuthenticationA
// infinite recursion is the configuration of transitions supplied by the deployer.
final AuthenticationResult activeResult = mfaContext.getActiveResults().get(flowId);
if (activeResult != null) {
- log.debug("{} Reusing active result for '{}' flow", getLogPrefix(), flowId);
- activeResult.setLastActivityInstantToNow();
- ActionSupport.buildProceedEvent(profileRequestContext);
- doExecute(profileRequestContext, authenticationContext);
- return;
+ if (flow.getReuseCondition().apply(profileRequestContext)) {
+ log.debug("{} Reusing active result for '{}' flow", getLogPrefix(), flowId);
+ activeResult.setLastActivityInstantToNow();
+ ActionSupport.buildProceedEvent(profileRequestContext);
+ doExecute(profileRequestContext, authenticationContext);
+ return;
+ } else {
+ log.debug("{} Condition blocked reuse of active result for '{}' flow", getLogPrefix(), flowId);
+ mfaContext.getActiveResults().remove(flowId);
+ }
}
if (validateLoginTransitions) {
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list