[java-idp-plugin-duo] branch main updated: Minor fixes to properties, class package locations, and javadoc

Codeberg noreply at shibboleth.net
Mon Sep 21 08:08:24 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-idp-plugin-duo.

View the commit online:
https://codeberg.org/Shibboleth/java-idp-plugin-duo/commit/99bae078051e63927071de00f00beb2d46a515d8

The following commit(s) were added to refs/heads/main by this push:
     new 99bae078 Minor fixes to properties, class package locations, and javadoc
99bae078 is described below

commit 99bae078051e63927071de00f00beb2d46a515d8
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Mon Sep 21 09:08:04 2026 +0100

    Minor fixes to properties, class package locations, and javadoc
---
 .../idp/{ => plugin}/authn/duo/AuthenticationRequestOptions.java      | 2 +-
 .../shibboleth/idp/plugin/authn/duo/DefaultDuoOIDCIntegration.java    | 3 +++
 .../main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCClient.java  | 1 -
 .../idp/plugin/authn/duo/context/DuoOIDCAuthenticationContext.java    | 2 +-
 .../net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClient.java | 2 +-
 .../idp/plugin/authn/duo/nimbus/impl/NimbusClientSupport.java         | 2 +-
 .../idp/plugin/authn/duo/nimbus/conf/authn/duo-oidc.properties        | 2 +-
 .../shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientAdaptor.java | 2 +-
 .../shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientFactory.java | 2 +-
 .../idp/plugin/authn/duo/sdk/conf/authn/duo-oidc.properties           | 4 +---
 10 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/idp-duo-api/src/main/java/net/shibboleth/idp/authn/duo/AuthenticationRequestOptions.java b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/AuthenticationRequestOptions.java
similarity index 98%
rename from idp-duo-api/src/main/java/net/shibboleth/idp/authn/duo/AuthenticationRequestOptions.java
rename to idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/AuthenticationRequestOptions.java
index 532e6dd3..4f955122 100644
--- a/idp-duo-api/src/main/java/net/shibboleth/idp/authn/duo/AuthenticationRequestOptions.java
+++ b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/AuthenticationRequestOptions.java
@@ -1,5 +1,5 @@
 
-package net.shibboleth.idp.authn.duo;
+package net.shibboleth.idp.plugin.authn.duo;
 
 import java.time.Duration;
 
diff --git a/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DefaultDuoOIDCIntegration.java b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DefaultDuoOIDCIntegration.java
index e2b3049f..16343fe7 100644
--- a/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DefaultDuoOIDCIntegration.java
+++ b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DefaultDuoOIDCIntegration.java
@@ -382,6 +382,9 @@ public final class DefaultDuoOIDCIntegration
      */
     public synchronized void setMaxAuthenticationAge(@Nullable final Duration age) {
     	checkSetterPreconditions();
+    	if (age != null) {
+    		Constraint.isFalse(age.isNegative(), "Maximum authentication age cannot be negative");
+    	}
 		maxAge = age;
 	}
     
diff --git a/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCClient.java b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCClient.java
index e1b5319a..da85601b 100644
--- a/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCClient.java
+++ b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCClient.java
@@ -19,7 +19,6 @@ import javax.annotation.Nullable;
 
 import com.nimbusds.jwt.JWT;
 
-import net.shibboleth.idp.authn.duo.AuthenticationRequestOptions;
 import net.shibboleth.idp.plugin.authn.duo.model.DuoHealthCheck;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
diff --git a/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/context/DuoOIDCAuthenticationContext.java b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/context/DuoOIDCAuthenticationContext.java
index 4cf48503..61221966 100644
--- a/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/context/DuoOIDCAuthenticationContext.java
+++ b/idp-duo-api/src/main/java/net/shibboleth/idp/plugin/authn/duo/context/DuoOIDCAuthenticationContext.java
@@ -26,7 +26,7 @@ import org.opensaml.messaging.context.BaseContext;
 import com.nimbusds.jwt.JWT;
 
 import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.authn.duo.AuthenticationRequestOptions;
+import net.shibboleth.idp.plugin.authn.duo.AuthenticationRequestOptions;
 import net.shibboleth.idp.plugin.authn.duo.DuoOIDCClient;
 import net.shibboleth.idp.plugin.authn.duo.DuoOIDCIntegration;
 import net.shibboleth.shared.logic.Constraint;
diff --git a/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClient.java b/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClient.java
index e47e11c4..95b3aacd 100644
--- a/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClient.java
+++ b/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClient.java
@@ -43,8 +43,8 @@ import com.nimbusds.jose.util.IOUtils;
 import com.nimbusds.jwt.JWT;
 import com.nimbusds.jwt.SignedJWT;
 
-import net.shibboleth.idp.authn.duo.AuthenticationRequestOptions;
 import net.shibboleth.idp.plugin.authn.duo.AbstractDuoOIDCClient;
+import net.shibboleth.idp.plugin.authn.duo.AuthenticationRequestOptions;
 import net.shibboleth.idp.plugin.authn.duo.DuoClientException;
 import net.shibboleth.idp.plugin.authn.duo.DuoOIDCIntegration;
 import net.shibboleth.idp.plugin.authn.duo.model.DuoHealthCheck;
diff --git a/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClientSupport.java b/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClientSupport.java
index 22a08d8e..fd8c0c5f 100644
--- a/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClientSupport.java
+++ b/idp-duo-nimbus-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/nimbus/impl/NimbusClientSupport.java
@@ -26,7 +26,7 @@ import com.nimbusds.jose.JOSEException;
 import com.nimbusds.jose.JWSAlgorithm;
 import com.nimbusds.jwt.JWTClaimsSet;
 
-import net.shibboleth.idp.authn.duo.AuthenticationRequestOptions;
+import net.shibboleth.idp.plugin.authn.duo.AuthenticationRequestOptions;
 import net.shibboleth.idp.plugin.authn.duo.DuoClientException;
 import net.shibboleth.oidc.security.JWSAssemblyUtils;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
diff --git a/idp-duo-nimbus-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/nimbus/conf/authn/duo-oidc.properties b/idp-duo-nimbus-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/nimbus/conf/authn/duo-oidc.properties
index bb6e8f85..72864c12 100644
--- a/idp-duo-nimbus-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/nimbus/conf/authn/duo-oidc.properties
+++ b/idp-duo-nimbus-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/nimbus/conf/authn/duo-oidc.properties
@@ -51,7 +51,7 @@ idp.duo.oidc.redirectURL = https://<hostname>:<port>/idp/profile/Authn/Duo/2FA/d
 # Override to plug in your own condition bean governing eligibility.
 #idp.duo.oidc.passwordless.guardCondition = (internal default)
 # Statically define a maximum authentication age in the request to Duo. 
-#idp.duo.oidc.passwordles.maxAge =
+#idp.duo.oidc.passwordless.maxAge =
 
 # Settings for Passwordless cookie management flow
 #idp.duo.oidc.admin.resolveAttributes = false
diff --git a/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientAdaptor.java b/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientAdaptor.java
index 8bd38afc..979e5812 100644
--- a/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientAdaptor.java
+++ b/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientAdaptor.java
@@ -40,8 +40,8 @@ import com.nimbusds.jose.JWSAlgorithm;
 import com.nimbusds.jwt.JWT;
 import com.nimbusds.jwt.JWTClaimsSet;
 
-import net.shibboleth.idp.authn.duo.AuthenticationRequestOptions;
 import net.shibboleth.idp.plugin.authn.duo.AbstractDuoOIDCClient;
+import net.shibboleth.idp.plugin.authn.duo.AuthenticationRequestOptions;
 import net.shibboleth.idp.plugin.authn.duo.DuoClientException;
 import net.shibboleth.idp.plugin.authn.duo.DuoOIDCClient;
 import net.shibboleth.idp.plugin.authn.duo.DuoOIDCIntegration;
diff --git a/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientFactory.java b/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientFactory.java
index 93f6689e..0afbdb30 100644
--- a/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientFactory.java
+++ b/idp-duo-sdk-client-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/sdk/impl/DuoSDKClientFactory.java
@@ -67,7 +67,7 @@ public final class DuoSDKClientFactory extends AbstractInitializableComponent im
      * 
      * @param certs the list of certificate pins.
      * 
-     * @deprecated use {@link #setPinnedCertificates(List)}
+     * @deprecated use {@link #setPinnedCertificates(List)}. Pinning public-key hashes is not longer supported.
      */
     @Deprecated(since = "2.4.0", forRemoval = true)
     public synchronized void setCaCerts(@Nullable final List<String> certs) {
diff --git a/idp-duo-sdk-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/sdk/conf/authn/duo-oidc.properties b/idp-duo-sdk-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/sdk/conf/authn/duo-oidc.properties
index 9b9ac8ec..e7725c74 100644
--- a/idp-duo-sdk-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/sdk/conf/authn/duo-oidc.properties
+++ b/idp-duo-sdk-client-impl/src/main/resources/net/shibboleth/idp/plugin/authn/duo/sdk/conf/authn/duo-oidc.properties
@@ -55,7 +55,7 @@ idp.duo.oidc.redirectURL = https://<hostname>:<port>/idp/profile/Authn/Duo/2FA/d
 # Override to plug in your own condition bean governing eligibility.
 #idp.duo.oidc.passwordless.guardCondition = (internal default)
 # Statically define a maximum authentication age in the request to Duo. 
-#idp.duo.oidc.passwordles.maxAge =
+#idp.duo.oidc.passwordless.maxAge =
 
 # Settings for Passwordless cookie management flow
 #idp.duo.oidc.admin.resolveAttributes = false
@@ -82,8 +82,6 @@ idp.duo.oidc.admin.landingPage = https://example.org
 #idp.duo.oidc.jwt.verifier.iatWindow = PT60S
 #idp.duo.oidc.jwt.verifier.issuerPath = /oauth/v1/token 
 #idp.duo.oidc.jwt.verifier.preferredUsername = preferred_username
-# Applies only to forced authentication
-#idp.duo.oidc.jwt.verifier.authLifetime = PT60S
 
 # Controls for authentication age validation
 # Maximum permitted age of an authentication event. If unset, no validation is performed. If set to zero, the 

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


More information about the commits mailing list