This is an automated email from the ASF dual-hosted git repository.

DaanHoogland pushed a commit to branch ghi10752-configCleanup
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit e18b699bcfa57963bbe5694c147a8511f46be578
Author: Daan Hoogland <[email protected]>
AuthorDate: Sat Aug 15 10:35:36 2026 +0200

    move SSOKey configuration item from deprecated Config enum to services
---
 server/src/main/java/com/cloud/configuration/Config.java           | 1 -
 server/src/main/java/com/cloud/server/ConfigurationServerImpl.java | 3 ++-
 server/src/main/java/com/cloud/user/AccountManager.java            | 3 +++
 server/src/main/java/com/cloud/user/AccountManagerImpl.java        | 4 ++--
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/server/src/main/java/com/cloud/configuration/Config.java 
b/server/src/main/java/com/cloud/configuration/Config.java
index 455d06858ca..7f2a0522b7b 100644
--- a/server/src/main/java/com/cloud/configuration/Config.java
+++ b/server/src/main/java/com/cloud/configuration/Config.java
@@ -800,7 +800,6 @@ public enum Config {
             "Should we automatically add XenServers into pools that are inside 
a Pod",
             null),
     CloudIdentifier("Hidden", ManagementServer.class, String.class, 
"cloud.identifier", null, "A unique identifier for the cloud.", null),
-    SSOKey("Secure", ManagementServer.class, String.class, 
"security.singlesignon.key", null, "A Single Sign-On key used for logging into 
the cloud", null),
     SSOAuthTolerance(
             "Advanced",
             ManagementServer.class,
diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java 
b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java
index def564dfdc6..53677ee0ff1 100644
--- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java
@@ -94,6 +94,7 @@ import com.cloud.storage.Storage.ProvisioningType;
 import com.cloud.storage.dao.DiskOfferingDao;
 import com.cloud.test.IPRangeConfig;
 import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
 import com.cloud.user.AccountVO;
 import com.cloud.user.User;
 import com.cloud.user.dao.AccountDao;
@@ -820,7 +821,7 @@ public class ConfigurationServerImpl extends ManagerBase 
implements Configuratio
 
     private void updateSSOKey() {
         try {
-            _configDao.update(Config.SSOKey.key(), 
Config.SSOKey.getCategory(), getPrivateKey());
+            
_configDepot.createOrUpdateConfigObject(AccountManager.class.getSimpleName(), 
AccountManager.SSOKey, getPrivateKey());
         } catch (NoSuchAlgorithmException ex) {
             logger.error("error generating sso key", ex);
         }
diff --git a/server/src/main/java/com/cloud/user/AccountManager.java 
b/server/src/main/java/com/cloud/user/AccountManager.java
index eca1a571dd8..84c4650ec4b 100644
--- a/server/src/main/java/com/cloud/user/AccountManager.java
+++ b/server/src/main/java/com/cloud/user/AccountManager.java
@@ -190,6 +190,9 @@ public interface AccountManager extends AccountService, 
Configurable {
     ConfigKey<Boolean> UseSecretKeyInResponse = new 
ConfigKey<Boolean>("Advanced", Boolean.class, "use.secret.key.in.response", 
"false",
             "This parameter allows the users to enable or disable of showing 
secret key as a part of response for various APIs. By default it is set to 
false.", true);
 
+    ConfigKey<String> SSOKey = new ConfigKey<>("Secure", String.class, 
"security.singlesignon.key", null,
+            "A Single Sign-On key used for logging into the cloud", true);
+
     boolean moveUser(long id, Long domainId, Account newAccount);
 
     UserTwoFactorAuthenticator getUserTwoFactorAuthenticator(final Long 
domainId, final Long userAccountId);
diff --git a/server/src/main/java/com/cloud/user/AccountManagerImpl.java 
b/server/src/main/java/com/cloud/user/AccountManagerImpl.java
index db9c1d1dafd..4c03ca19237 100644
--- a/server/src/main/java/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/main/java/com/cloud/user/AccountManagerImpl.java
@@ -3109,7 +3109,7 @@ public class AccountManagerImpl extends ManagerBase 
implements AccountManager, M
     }
 
     private UserAccount getUserAccountForSSO(String username, Long domainId, 
Map<String, Object[]> requestParameters) {
-        String key = _configDao.getValue("security.singlesignon.key");
+        String key = SSOKey.value();
         if (key == null) {
             // the SSO key is gone, don't authenticate
             return null;
@@ -4101,7 +4101,7 @@ public class AccountManagerImpl extends ManagerBase 
implements AccountManager, M
     public ConfigKey<?>[] getConfigKeys() {
         return new ConfigKey<?>[] {UseSecretKeyInResponse, 
enableUserTwoFactorAuthentication,
                 userTwoFactorAuthenticationDefaultProvider, 
mandateUserTwoFactorAuthentication, userTwoFactorAuthenticationIssuer, 
apiKeyAccess,
-                userAllowMultipleAccounts, 
listOfRoleTypesAllowedForOperationsOfSameRoleType, 
allowOperationsOnUsersInSameAccount};
+                userAllowMultipleAccounts, 
listOfRoleTypesAllowedForOperationsOfSameRoleType, 
allowOperationsOnUsersInSameAccount, SSOKey};
     }
 
     public List<UserTwoFactorAuthenticator> 
getUserTwoFactorAuthenticationProviders() {

Reply via email to