[java-oidc-common] branch main updated: Make OAuth2 token flows issuer-override aware.

Scott Cantor cantor.2 at osu.edu
Wed Jan 26 22:40:07 UTC 2022


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

scantor pushed a commit to branch main
in repository java-oidc-common.

View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=35f33f942ba8949a2ee30bdf2c82c50759279a95

The following commit(s) were added to refs/heads/main by this push:
     new 35f33f9  Make OAuth2 token flows issuer-override aware.
35f33f9 is described below

commit 35f33f942ba8949a2ee30bdf2c82c50759279a95
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Jan 26 17:40:04 2022 -0500

    Make OAuth2 token flows issuer-override aware.
---
 ...AbstractOAuth2TokenValidatingConfiguration.java | 31 +++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2TokenValidatingConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2TokenValidatingConfiguration.java
index 229d7fd..8d326b0 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2TokenValidatingConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2TokenValidatingConfiguration.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
 import net.shibboleth.oidc.jwt.claims.ClaimsValidator;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -34,8 +35,12 @@ import net.shibboleth.utilities.java.support.logic.FunctionSupport;
  * 
  * @since 3.1.0
  */
-public class AbstractOAuth2TokenValidatingConfiguration extends AbstractOAuth2ClientAuthenticableProfileConfiguration {
+public class AbstractOAuth2TokenValidatingConfiguration extends AbstractOAuth2ClientAuthenticableProfileConfiguration
+        implements OverriddenIssuerProfileConfiguration {
 
+    /** Lookup function to override issuer value. */
+    @Nonnull private Function<ProfileRequestContext,String> issuerLookupStrategy;
+    
     /** Validation of JWT claims for issued tokens. */
     @Nonnull private Function<ProfileRequestContext,ClaimsValidator> issuedClaimsValidatorLookupStrategy;
 
@@ -47,9 +52,33 @@ public class AbstractOAuth2TokenValidatingConfiguration extends AbstractOAuth2Cl
     public AbstractOAuth2TokenValidatingConfiguration(@Nonnull @NotEmpty final String profileId) {
         super(profileId);
         
+        issuerLookupStrategy = FunctionSupport.constant(null);
         issuedClaimsValidatorLookupStrategy = FunctionSupport.constant(null);
     }
 
+    /** {@inheritDoc} */
+    @Nullable @NotEmpty public String getIssuer(@Nullable final ProfileRequestContext profileRequestContext) {
+        return issuerLookupStrategy.apply(profileRequestContext);
+    }
+    
+    /**
+     * Set overridden issuer value.
+     * 
+     * @param issuer issuer value
+     */
+    public void setIssuer(@Nullable @NotEmpty final String issuer) {
+        issuerLookupStrategy = FunctionSupport.constant(issuer);
+    }
+    
+    /**
+     * Sets lookup strategy for overridden issuer value.
+     * 
+     * @param strategy lookup strategy
+     */
+    public void setIssuerLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
+        issuerLookupStrategy = Constraint.isNotNull(strategy, "Issuer lookup strategy cannot be null");
+    }
+    
     /**
      * Get the {@link ClaimsValidator} to apply to issued JWT-based tokens being validated by this profile.
      * 

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


More information about the commits mailing list