This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push: new 8eb9360c86 Keeping up with pac4j changes 8eb9360c86 is described below commit 8eb9360c86bfdac813577be460ed7d37285b6c8b Author: Francesco Chicchiriccò <ilgro...@apache.org> AuthorDate: Wed Nov 15 14:16:24 2023 +0100 Keeping up with pac4j changes --- .../core/logic/oidc/NoOpSessionLogoutHandler.java | 22 ++++++++++++++++++++++ .../syncope/core/logic/oidc/OIDCClientCache.java | 2 +- .../core/logic/AbstractSAML2SP4UILogic.java | 2 -- .../core/logic/saml2/NoOpSessionLogoutHandler.java | 22 ++++++++++++++++++++++ .../syncope/core/logic/saml2/SAML2ClientCache.java | 1 + .../org/apache/syncope/sra/SecurityConfig.java | 6 ++---- .../security/pac4j/NoOpSessionLogoutHandler.java | 21 +++++++++++++++++++++ 7 files changed, 69 insertions(+), 7 deletions(-) diff --git a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/NoOpSessionLogoutHandler.java b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/NoOpSessionLogoutHandler.java index 3b0ecccca7..14f73fa138 100644 --- a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/NoOpSessionLogoutHandler.java +++ b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/NoOpSessionLogoutHandler.java @@ -18,7 +18,29 @@ */ package org.apache.syncope.core.logic.oidc; +import java.util.Optional; +import org.pac4j.core.context.CallContext; import org.pac4j.core.logout.handler.SessionLogoutHandler; public class NoOpSessionLogoutHandler implements SessionLogoutHandler { + + @Override + public void recordSession(final CallContext ctx, final String key) { + // nothing to do + } + + @Override + public void destroySession(final CallContext ctx, final String key) { + // nothing to do + } + + @Override + public void renewSession(final CallContext ctx, final String oldSessionId) { + // nothing to do + } + + @Override + public Optional<String> cleanRecord(final String sessionId) { + return Optional.empty(); + } } diff --git a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCClientCache.java b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCClientCache.java index a4f67b3aba..d4a87f8097 100644 --- a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCClientCache.java +++ b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCClientCache.java @@ -107,12 +107,12 @@ public class OIDCClientCache { cfg.setOpMetadataResolver(new StaticOidcOpMetadataResolver(cfg, metadata)); cfg.setScope(op.getScopes().stream().collect(Collectors.joining(" "))); cfg.setUseNonce(false); - cfg.setSessionLogoutHandler(new NoOpSessionLogoutHandler()); OidcClient client = new OidcClient(cfg); client.setName(op.getName()); client.setCallbackUrlResolver(new NoParameterCallbackUrlResolver()); client.setCallbackUrl(callbackUrl); + client.getConfig().setSessionLogoutHandler(new NoOpSessionLogoutHandler()); client.init(); cache.add(client); diff --git a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/AbstractSAML2SP4UILogic.java b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/AbstractSAML2SP4UILogic.java index 1afdeb6fa4..ce4dadfe2f 100644 --- a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/AbstractSAML2SP4UILogic.java +++ b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/AbstractSAML2SP4UILogic.java @@ -23,7 +23,6 @@ import java.security.KeyStore; import java.security.PrivateKey; import java.security.cert.X509Certificate; import org.apache.syncope.common.lib.to.EntityTO; -import org.apache.syncope.core.logic.saml2.NoOpSessionLogoutHandler; import org.pac4j.saml.config.SAML2Configuration; import org.pac4j.saml.metadata.keystore.BaseSAML2KeystoreGenerator; import org.springframework.core.io.FileUrlResource; @@ -75,7 +74,6 @@ abstract class AbstractSAML2SP4UILogic extends AbstractTransactionalLogic<Entity cfg.setAuthnRequestSigned(true); cfg.setSpLogoutRequestSigned(true); cfg.setAcceptedSkew(props.getSkew()); - cfg.setSessionLogoutHandler(new NoOpSessionLogoutHandler()); return cfg; } diff --git a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/NoOpSessionLogoutHandler.java b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/NoOpSessionLogoutHandler.java index 73eb07e414..d79f624ef5 100644 --- a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/NoOpSessionLogoutHandler.java +++ b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/NoOpSessionLogoutHandler.java @@ -18,7 +18,29 @@ */ package org.apache.syncope.core.logic.saml2; +import java.util.Optional; +import org.pac4j.core.context.CallContext; import org.pac4j.core.logout.handler.SessionLogoutHandler; public class NoOpSessionLogoutHandler implements SessionLogoutHandler { + + @Override + public void recordSession(final CallContext ctx, final String key) { + // nothing to do + } + + @Override + public void destroySession(final CallContext ctx, final String key) { + // nothing to do + } + + @Override + public void renewSession(final CallContext ctx, final String oldSessionId) { + // nothing to do + } + + @Override + public Optional<String> cleanRecord(final String sessionId) { + return Optional.empty(); + } } diff --git a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java index bbab15e69c..65ce4952e6 100644 --- a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java +++ b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java @@ -134,6 +134,7 @@ public class SAML2ClientCache { SAML2Client saml2Client = new SAML2Client(cfg); saml2Client.setCallbackUrlResolver(new NoParameterCallbackUrlResolver()); saml2Client.setCallbackUrl(callbackUrl); + saml2Client.getConfig().setSessionLogoutHandler(new NoOpSessionLogoutHandler()); saml2Client.init(); cache.add(saml2Client); diff --git a/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java b/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java index 6eb86ee2b1..1543cda469 100644 --- a/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java +++ b/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java @@ -249,8 +249,7 @@ public class SecurityConfig { @Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix = SRAProperties.PREFIX, name = SRAProperties.AM_TYPE, havingValue = "SAML2") - public SAML2Client saml2Client(final ResourcePatternResolver resourceResolver, - final SRAProperties props) { + public SAML2Client saml2Client(final ResourcePatternResolver resourceResolver, final SRAProperties props) { SAML2Configuration cfg = new SAML2Configuration( resourceResolver.getResource(props.getSaml2().getKeystore()), null, @@ -291,13 +290,12 @@ public class SecurityConfig { cfg.setServiceProviderMetadataResourceFilepath(props.getSaml2().getSpMetadataFilePath()); cfg.setAcceptedSkew(props.getSaml2().getSkew()); - cfg.setSessionLogoutHandler(new NoOpSessionLogoutHandler()); - SAML2Client saml2Client = new SAML2Client(cfg); saml2Client.setName(SRAProperties.AMType.SAML2.name()); saml2Client.setCallbackUrl(props.getSaml2().getEntityId() + SAML2WebSsoAuthenticationWebFilter.FILTER_PROCESSES_URI); saml2Client.setCallbackUrlResolver(new NoParameterCallbackUrlResolver()); + saml2Client.getConfig().setSessionLogoutHandler(new NoOpSessionLogoutHandler()); saml2Client.init(); return saml2Client; diff --git a/sra/src/main/java/org/apache/syncope/sra/security/pac4j/NoOpSessionLogoutHandler.java b/sra/src/main/java/org/apache/syncope/sra/security/pac4j/NoOpSessionLogoutHandler.java index c99f0bd9ba..0d086e73e3 100644 --- a/sra/src/main/java/org/apache/syncope/sra/security/pac4j/NoOpSessionLogoutHandler.java +++ b/sra/src/main/java/org/apache/syncope/sra/security/pac4j/NoOpSessionLogoutHandler.java @@ -18,8 +18,29 @@ */ package org.apache.syncope.sra.security.pac4j; +import java.util.Optional; +import org.pac4j.core.context.CallContext; import org.pac4j.core.logout.handler.SessionLogoutHandler; public class NoOpSessionLogoutHandler implements SessionLogoutHandler { + @Override + public void recordSession(final CallContext ctx, final String key) { + // nothing to do + } + + @Override + public void destroySession(final CallContext ctx, final String key) { + // nothing to do + } + + @Override + public void renewSession(final CallContext ctx, final String oldSessionId) { + // nothing to do + } + + @Override + public Optional<String> cleanRecord(final String sessionId) { + return Optional.empty(); + } }