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ò <[email protected]>
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();
+ }
}