[java-oidc-common] branch main updated: JCOMOIDC-178 - Add LogoutProfileConfig option to toggle post_logout_redirect_uri construction
Codeberg
noreply at shibboleth.net
Thu Jul 9 13:52:38 UTC 2026
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch main
in repository java-oidc-common.
View the commit online:
https://codeberg.org/Shibboleth/java-oidc-common/commit/9a8bf99d6656351313c3cb60dd970dde4e3bc055
The following commit(s) were added to refs/heads/main by this push:
new 9a8bf99d JCOMOIDC-178 - Add LogoutProfileConfig option to toggle post_logout_redirect_uri construction
9a8bf99d is described below
commit 9a8bf99d6656351313c3cb60dd970dde4e3bc055
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Thu Jul 9 14:52:29 2026 +0100
JCOMOIDC-178 - Add LogoutProfileConfig option to toggle
post_logout_redirect_uri construction
https://shibboleth.atlassian.net/browse/JCOMOIDC-178
---
.../config/OIDCLogoutProfileConfiguration.java | 16 ++++++++++
.../impl/DefaultOIDCLogoutConfiguration.java | 35 ++++++++++++++++++++++
2 files changed, 51 insertions(+)
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCLogoutProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCLogoutProfileConfiguration.java
index b575af00..a084cca0 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCLogoutProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCLogoutProfileConfiguration.java
@@ -151,5 +151,21 @@ public interface OIDCLogoutProfileConfiguration extends OAuth2TokenEncryptionPro
@Nullable default String getLogoutHintClaim(@Nullable final ProfileRequestContext profileRequestContext) {
return null;
}
+
+ /**
+ * Get whether post_logout_redirect_uri is included in an OIDC RP-Initiated logout request.
+ *
+ * @param profileRequestContext profile request context
+ *
+ * @return true if the post_logout_redirect_uri parameter should be included in the request, false otherwise.
+ *
+ * TODO: remove the default implementation in version 4.0.0
+ *
+ * @since 3.4.0
+ */
+ @ConfigurationSetting(name="includePostLogoutRedirectUri")
+ default boolean isIncludePostLogoutRedirectUri(@Nullable final ProfileRequestContext profileRequestContext) {
+ return false;
+ }
}
\ No newline at end of file
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCLogoutConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCLogoutConfiguration.java
index bd108005..4b7d9794 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCLogoutConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCLogoutConfiguration.java
@@ -89,6 +89,9 @@ public class DefaultOIDCLogoutConfiguration extends AbstractOAuth2InterceptorAwa
* contained inside the ID Token.
*/
@Nonnull private Function<ProfileRequestContext,String> logoutHintClaimLookupStrategy;
+
+ /** Whether to include the post_logout_redirect_uri parameter in an RP-Initiated logout request. */
+ @Nonnull private Predicate<ProfileRequestContext> includePostLogoutRedirectUri;
/**
* Constructor.
@@ -115,6 +118,7 @@ public class DefaultOIDCLogoutConfiguration extends AbstractOAuth2InterceptorAwa
ignoreInvalidPostLogoutRedirectUriPredicate = PredicateSupport.alwaysFalse();
httpRequestMethodLookupStrategy = FunctionSupport.constant(HttpRequestMethod.GET.toString());
logoutHintClaimLookupStrategy = FunctionSupport.constant(null);
+ includePostLogoutRedirectUri = PredicateSupport.alwaysFalse();
}
@Override @Nullable @NotEmpty
@@ -410,5 +414,36 @@ public class DefaultOIDCLogoutConfiguration extends AbstractOAuth2InterceptorAwa
public String getLogoutHintClaim(final ProfileRequestContext profileRequestContext) {
return logoutHintClaimLookupStrategy.apply(profileRequestContext);
}
+
+ /**
+ * Set the predicate to determine if the post_logout_redirect_uri parameter be included in an RP-Initiated logout
+ * request.
+ *
+ * @since 3.4.0
+ *
+ * @param condition The condition to set.
+ */
+ public void setIncludePostLogoutRedirectUri(@Nonnull final Predicate<ProfileRequestContext> condition) {
+ includePostLogoutRedirectUri =
+ Constraint.isNotNull(condition, "IncludePostLogoutRedirectUri predicate cannot be null");
+ }
+
+ /**
+ * Set whether to determine if the post_logout_redirect_uri parameter be included in an RP-Initiated logout
+ * request.
+ *
+ * @since 3.4.0
+ *
+ * @param flag The flag to set.
+ */
+ public void setIncludePostLogoutRedirectUri(final boolean flag) {
+ includePostLogoutRedirectUri = PredicateSupport.constant(flag);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean isIncludePostLogoutRedirectUri(final ProfileRequestContext profileRequestContext) {
+ return includePostLogoutRedirectUri.test(profileRequestContext);
+ }
}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list