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();
+    }
 }

Reply via email to