[java-idp-plugin-duo] 07/16: Import cleanup. Improve signature validation error handling
Phil Smart
philip.smart at jisc.ac.uk
Fri Oct 2 10:40:58 UTC 2020
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch main
in repository java-idp-plugin-duo.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-plugin-duo.git;a=commit;h=db3b942124fe6fa43a858b84d19c8a0d975d3bf0
commit db3b942124fe6fa43a858b84d19c8a0d975d3bf0
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Mon Sep 21 09:13:16 2020 +0100
Import cleanup. Improve signature validation error handling
---
.../idp/plugin/authn/duo/impl/ValidateTokenSignature.java | 14 ++++++++++----
.../idp/plugin/authn/duo/impl/AbstractDuoActionTest.java | 15 ---------------
2 files changed, 10 insertions(+), 19 deletions(-)
diff --git a/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/impl/ValidateTokenSignature.java b/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/impl/ValidateTokenSignature.java
index 11eb9e7..d4f4d6d 100644
--- a/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/impl/ValidateTokenSignature.java
+++ b/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/impl/ValidateTokenSignature.java
@@ -123,9 +123,12 @@ public class ValidateTokenSignature extends AbstractDuoAuthenticationAction {
claimSet.getSubject(),integration.getClientId());
ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.NO_CREDENTIALS);
return;
+ } else {
+ log.debug("{} Token signature is valid; using algorithm '{}' for client '{}'",
+ getLogPrefix(),SUPPORTED_SIGNATURE_FAMILY, integration.getClientId());
+ //is valid
+ return;
}
- log.debug("{} Token signature is valid; using algorithm '{}' for client '{}'",
- getLogPrefix(),SUPPORTED_SIGNATURE_FAMILY, integration.getClientId());
} else {
log.error("{} Invalid token. Token signature algorithm not supported, token algorithm '{}',"
+ " supported algorithms '{}', for client '{}'",getLogPrefix(),
@@ -141,8 +144,11 @@ public class ValidateTokenSignature extends AbstractDuoAuthenticationAction {
return;
}
- }
- //all good.
+ }
+ log.error("{} Unable to validate token, unkown token type",getLogPrefix());
+ ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.AUTHN_EXCEPTION);
+ return;
+
}
}
diff --git a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java
index abe125a..d8715b5 100644
--- a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java
+++ b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java
@@ -24,23 +24,18 @@ import static org.testng.Assert.fail;
import java.text.ParseException;
import java.time.Instant;
-import java.time.temporal.ChronoUnit;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import org.opensaml.core.config.ConfigurationService;
-import org.opensaml.core.metrics.FilteredMetricRegistry;
import org.opensaml.profile.context.EventContext;
import org.opensaml.profile.context.ProfileRequestContext;
import org.springframework.webflow.execution.Event;
import org.springframework.webflow.execution.RequestContext;
-import com.codahale.metrics.MetricRegistry;
import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWSHeader;
import com.nimbusds.jose.JWSSigner;
-import com.nimbusds.jose.KeyLengthException;
import com.nimbusds.jose.PlainHeader;
import com.nimbusds.jose.crypto.MACSigner;
import com.nimbusds.jose.util.Base64URL;
@@ -52,13 +47,7 @@ import com.nimbusds.jwt.SignedJWT;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.plugin.authn.duo.DefaultDuoOIDCIntegration;
-import net.shibboleth.idp.plugin.authn.duo.DuoClientException;
import net.shibboleth.idp.plugin.authn.duo.context.DuoOIDCAuthenticationContext;
-import net.shibboleth.idp.plugin.authn.duo.model.DuoAccessDevice;
-import net.shibboleth.idp.plugin.authn.duo.model.DuoApplication;
-import net.shibboleth.idp.plugin.authn.duo.model.DuoAuthContext;
-import net.shibboleth.idp.plugin.authn.duo.model.DuoAuthDevice;
-import net.shibboleth.idp.plugin.authn.duo.model.DuoAuthToken;
import net.shibboleth.idp.profile.RequestContextBuilder;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
@@ -104,10 +93,6 @@ public abstract class AbstractDuoActionTest {
ac = new AuthenticationContext();
prc.addSubcontext(ac);
-
- //setup required for IdP 4.0.0, is no longer required in 4.0.1.
- FilteredMetricRegistry registry = new FilteredMetricRegistry();
- ConfigurationService.register(MetricRegistry.class, registry);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list