[java-identity-provider] branch maint-4 updated: IDP-2026 - Address SSO audit flag when MFA flow used

Scott Cantor cantor.2 at osu.edu
Thu Dec 15 21:07:36 UTC 2022


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch maint-4
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=fabc498b5915d107c55b7fe03635abb313406f72

The following commit(s) were added to refs/heads/maint-4 by this push:
     new fabc498b5 IDP-2026 - Address SSO audit flag when MFA flow used
fabc498b5 is described below

commit fabc498b5915d107c55b7fe03635abb313406f72
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Dec 15 16:07:33 2022 -0500

    IDP-2026 - Address SSO audit flag when MFA flow used
    
    https://shibboleth.atlassian.net/browse/IDP-2026
    
    Adjust merging function to set flag based on underlying results.
---
 .../idp/authn/impl/FinalizeMultiFactorAuthentication.java          | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
index cacc0ee8f..9d1b252bd 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
@@ -248,15 +248,22 @@ public class FinalizeMultiFactorAuthentication extends AbstractAuthenticationAct
                     if (mfaContext != null) {
                         final Collection<AuthenticationResult> results = mfaContext.getActiveResults().values();
                         if (!results.isEmpty()) {
+                            
+                            // Track whether SSO was performed.
+                            boolean allPreviousResults = true;
+                            
                             final Subject subject = new Subject();
                             for (final AuthenticationResult result : results) {
                                 subject.getPrincipals().add(new AuthenticationResultPrincipal(result));
                                 subject.getPrincipals().addAll(result.getSubject().getPrincipals());
                                 subject.getPublicCredentials().addAll(result.getSubject().getPublicCredentials());
                                 subject.getPrivateCredentials().addAll(result.getSubject().getPrivateCredentials());
+                                allPreviousResults = allPreviousResults && result.isPreviousResult();
                             }
+                            
                             final AuthenticationResult merged = new AuthenticationResult(
                                     mfaContext.getAuthenticationFlowDescriptor().getId(), subject);
+                            merged.setPreviousResult(allPreviousResults);
                             return merged;
                         }
                     }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list