[java-oidc-common] branch main updated: Add useRequestObject configuration parameter to OIDC profile config
Phil Smart
philip.smart at jisc.ac.uk
Tue Dec 14 15:36:56 UTC 2021
This is an automated email from the git hooks/post-receive script.
philsmart 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=3bcab9659b71ebbd0d7ed418b963a4e336f55c10
The following commit(s) were added to refs/heads/main by this push:
new 3bcab96 Add useRequestObject configuration parameter to OIDC profile config
3bcab96 is described below
commit 3bcab9659b71ebbd0d7ed418b963a4e336f55c10
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Tue Dec 14 15:36:50 2021 +0000
Add useRequestObject configuration parameter to OIDC profile config
To allow the profile config to specify if a Request Object JWT should be
used to encode authorization request parameters
---
.../config/OIDCAuthorizationConfiguration.java | 35 ++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthorizationConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthorizationConfiguration.java
index ebc7da7..6269564 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthorizationConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthorizationConfiguration.java
@@ -64,6 +64,9 @@ public class OIDCAuthorizationConfiguration extends AbstractOIDCSSOConfiguration
/** Lookup function to supply attribute IDs to embed in authorization code or access token. */
@Nonnull private Function<ProfileRequestContext,Set<String>> encodedAttributesLookupStrategy;
+
+ /** Whether to encode authentication request parameters inside a JWT request object.*/
+ @Nonnull private Predicate<ProfileRequestContext> useRequestObjectPredicate;
/** Lookup function to supply attribute IDs to omit from UserInfo token. */
@Nonnull private Function<ProfileRequestContext,Set<String>> deniedUserInfoAttributesLookupStrategy;
@@ -105,6 +108,7 @@ public class OIDCAuthorizationConfiguration extends AbstractOIDCSSOConfiguration
acrRequestAlwaysEssentialPredicate = Predicates.alwaysFalse();
encodeConsentInTokensPredicate = Predicates.alwaysFalse();
+ useRequestObjectPredicate = Predicates.alwaysFalse();
encodedAttributesLookupStrategy = FunctionSupport.constant(null);
deniedUserInfoAttributesLookupStrategy = FunctionSupport.constant(null);
@@ -179,6 +183,37 @@ public class OIDCAuthorizationConfiguration extends AbstractOIDCSSOConfiguration
public void setAcrRequestAlwaysEssentialPredicate(@Nonnull final Predicate<ProfileRequestContext> condition) {
acrRequestAlwaysEssentialPredicate = Constraint.isNotNull(condition, "Condition cannot be null");
}
+
+ /**
+ * Set condition for whether the authentication request parameters should be passed in a single,
+ * self contained, JWT.
+ *
+ * @param condition condition to set
+ */
+ public void setUseRequestObjectPredicate(
+ @Nonnull final Predicate<ProfileRequestContext> condition) {
+ useRequestObjectPredicate = Constraint.isNotNull(condition, "Use request object condition cannot be null");
+ }
+
+ /**
+ * Set whether the authentication request parameters should be passed in a single, self contained, JWT.
+ *
+ * @param flag flag to set
+ */
+ public void setUseRequestObjectPredicate(final boolean flag) {
+ useRequestObjectPredicate = flag ? Predicates.alwaysTrue() : Predicates.alwaysFalse();
+ }
+
+ /**
+ * Should authentication request parameters should be passed in a single, self contained, JWT?
+ *
+ * @param profileRequestContext the profile request context
+ *
+ * @return whether authentication request parameters should be passed in a single, self contained, JWT
+ */
+ public boolean isUseRequestObjectPredicate(@Nullable final ProfileRequestContext profileRequestContext) {
+ return useRequestObjectPredicate.test(profileRequestContext);
+ }
/**
* Get whether to encode consent in authorization code and access/refresh tokens.
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list