From 9abcbc59db00d3545bdb36160b9add6fb295e070 Mon Sep 17 00:00:00 2001 From: Arnab Dutta Date: Tue, 20 Feb 2024 22:37:29 +0530 Subject: [PATCH] feat: add SESSION_TIMEOUT_IN_MINUTES to admin-ui configuration in persistence #7792 Signed-off-by: Arnab Dutta --- .../as/model/config/adminui/MainSettings.java | 9 +++++++++ .../model/config/adminui/UIConfiguration.java | 17 +++++++++++++++++ .../model/auth/OAuth2ConfigResponse.java | 9 +++++++++ .../adminui/model/config/AUIConfiguration.java | 10 ++++++++++ .../adminui/rest/auth/OAuth2Resource.java | 1 + .../service/config/AUIConfigurationService.java | 2 ++ 6 files changed, 48 insertions(+) create mode 100644 jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/UIConfiguration.java diff --git a/jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/MainSettings.java b/jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/MainSettings.java index c66663c73f0..8475374cc4c 100644 --- a/jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/MainSettings.java +++ b/jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/MainSettings.java @@ -8,6 +8,7 @@ public class MainSettings { private OIDCSettings oidcConfig; private LicenseConfig licenseConfig; + private UIConfiguration uiConfig; public OIDCSettings getOidcConfig() { return oidcConfig; @@ -24,4 +25,12 @@ public LicenseConfig getLicenseConfig() { public void setLicenseConfig(LicenseConfig licenseConfig) { this.licenseConfig = licenseConfig; } + + public UIConfiguration getUiConfig() { + return uiConfig; + } + + public void setUiConfig(UIConfiguration uiConfig) { + this.uiConfig = uiConfig; + } } diff --git a/jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/UIConfiguration.java b/jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/UIConfiguration.java new file mode 100644 index 00000000000..8d297c3daf8 --- /dev/null +++ b/jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/UIConfiguration.java @@ -0,0 +1,17 @@ +package io.jans.as.model.config.adminui; + +public class UIConfiguration { + private Integer sessionTimeoutInMins; + + public UIConfiguration() { + //Do not remove + } + + public Integer getSessionTimeoutInMins() { + return sessionTimeoutInMins; + } + + public void setSessionTimeoutInMins(Integer sessionTimeoutInMins) { + this.sessionTimeoutInMins = sessionTimeoutInMins; + } +} diff --git a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/auth/OAuth2ConfigResponse.java b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/auth/OAuth2ConfigResponse.java index fcd2fe53d50..08e001f4605 100644 --- a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/auth/OAuth2ConfigResponse.java +++ b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/auth/OAuth2ConfigResponse.java @@ -12,6 +12,15 @@ public class OAuth2ConfigResponse { private String frontChannelLogoutUrl; private String postLogoutRedirectUri; private String endSessionEndpoint; + private Integer sessionTimeoutInMins; + + public Integer getSessionTimeoutInMins() { + return sessionTimeoutInMins; + } + + public void setSessionTimeoutInMins(Integer sessionTimeoutInMins) { + this.sessionTimeoutInMins = sessionTimeoutInMins; + } public String getAuthServerHost() { return authServerHost; diff --git a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/config/AUIConfiguration.java b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/config/AUIConfiguration.java index b7678aef580..3778408357c 100644 --- a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/config/AUIConfiguration.java +++ b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/config/AUIConfiguration.java @@ -32,6 +32,16 @@ public class AUIConfiguration { private String auiBackendApiServerEndSessionEndpoint; // LicenseSpring private LicenseConfiguration licenseConfiguration; + //UI session timeout + private Integer sessionTimeoutInMins; + + public Integer getSessionTimeoutInMins() { + return sessionTimeoutInMins; + } + + public void setSessionTimeoutInMins(Integer sessionTimeoutInMins) { + this.sessionTimeoutInMins = sessionTimeoutInMins; + } public String getAppType() { return appType; diff --git a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/rest/auth/OAuth2Resource.java b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/rest/auth/OAuth2Resource.java index 85049a19a48..919cd264d23 100644 --- a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/rest/auth/OAuth2Resource.java +++ b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/rest/auth/OAuth2Resource.java @@ -58,6 +58,7 @@ public Response getOAuth2Config(@PathParam("appType") String appType) { oauth2Config.setFrontChannelLogoutUrl(auiConfiguration.getAuiWebServerFrontChannelLogoutUrl()); oauth2Config.setPostLogoutRedirectUri(auiConfiguration.getAuiWebServerPostLogoutRedirectUri()); oauth2Config.setEndSessionEndpoint(auiConfiguration.getAuiWebServerEndSessionEndpoint()); + oauth2Config.setSessionTimeoutInMins(auiConfiguration.getSessionTimeoutInMins()); return Response.ok(oauth2Config).build(); } catch (ApplicationException e) { diff --git a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/service/config/AUIConfigurationService.java b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/service/config/AUIConfigurationService.java index 8a499959d4a..5387f2434f9 100644 --- a/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/service/config/AUIConfigurationService.java +++ b/jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/service/config/AUIConfigurationService.java @@ -116,6 +116,8 @@ private AUIConfiguration addPropertiesToAUIConfiguration(String appType, AdminCo auiConfig.setAuiBackendApiServerTokenEndpoint(appConf.getMainSettings().getOidcConfig().getAuiBackendApiClient().getTokenEndpoint()); auiConfig.setAuiBackendApiServerIntrospectionEndpoint(appConf.getMainSettings().getOidcConfig().getAuiBackendApiClient().getIntrospectionEndpoint()); + auiConfig.setSessionTimeoutInMins(appConf.getMainSettings().getUiConfig().getSessionTimeoutInMins()); + return auiConfig; }