!org.wso2.carbon.security.internal,
diff --git a/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/SecurityConstants.java b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/SecurityConstants.java
index 4f50c249076c..a5da81df780a 100644
--- a/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/SecurityConstants.java
+++ b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/SecurityConstants.java
@@ -131,7 +131,7 @@ public static class KeyStoreMgtConstants {
public static final String FILTER_OPERATION_CONTAINS = "co";
public static final String SERVER_TRUSTSTORE_FILE = "Security.TrustStore.Location";
-
+ public static final String KEY_STORE_CONTEXT_SEPARATOR = "--";
/**
* Enum for Keystore management service related errors.
*/
diff --git a/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/internal/SecurityMgtServiceComponent.java b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/internal/SecurityMgtServiceComponent.java
index fe1cea36fcaa..638d41d6d4af 100644
--- a/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/internal/SecurityMgtServiceComponent.java
+++ b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/internal/SecurityMgtServiceComponent.java
@@ -42,6 +42,8 @@
import org.wso2.carbon.security.SecurityServiceHolder;
import org.wso2.carbon.security.keystore.KeyStoreManagementService;
import org.wso2.carbon.security.keystore.KeyStoreManagementServiceImpl;
+import org.wso2.carbon.security.keystore.service.IdentityKeyStoreGenerator;
+import org.wso2.carbon.security.keystore.service.IdentityKeyStoreGeneratorImpl;
import org.wso2.carbon.user.core.service.RealmService;
import org.wso2.carbon.utils.ConfigurationContextService;
@@ -66,6 +68,8 @@ protected void activate(ComponentContext ctxt) {
BundleContext bundleCtx = ctxt.getBundleContext();
bundleCtx.registerService(KeyStoreManagementService.class.getName(), new KeyStoreManagementServiceImpl(),
null);
+ bundleCtx.registerService(IdentityKeyStoreGenerator.class.getName(), new IdentityKeyStoreGeneratorImpl(),
+ null);
try {
addKeystores();
} catch (Exception e) {
diff --git a/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGenerator.java b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGenerator.java
new file mode 100644
index 000000000000..4cc380c1462e
--- /dev/null
+++ b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGenerator.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.wso2.carbon.security.keystore.service;
+
+import org.wso2.carbon.security.keystore.KeyStoreManagementException;
+
+/**
+ * Interface for generating and managing context-specific tenant key stores.
+ */
+public interface IdentityKeyStoreGenerator {
+
+ /**
+ * Generates a context-specific KeyStore for a given tenant domain.
+ *
+ * This method creates a new KeyStore for the specified tenant domain and context if it does not already exist.
+ *
+ *
+ * @param tenantDomain the tenant domain for which the KeyStore is to be created.
+ * @param context the context for which the KeyStore is to be generated.
+ * @throws KeyStoreManagementException if an error occurs during KeyStore creation or initialization.
+ */
+ void generateKeyStore(String tenantDomain, String context) throws KeyStoreManagementException;
+}
diff --git a/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGeneratorImpl.java b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGeneratorImpl.java
new file mode 100644
index 000000000000..22f75c7e6905
--- /dev/null
+++ b/components/security-mgt/org.wso2.carbon.security.mgt/src/main/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGeneratorImpl.java
@@ -0,0 +1,314 @@
+/*
+ * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.wso2.carbon.security.keystore.service;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.bouncycastle.asn1.x500.X500Name;
+import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
+import org.bouncycastle.cert.X509v3CertificateBuilder;
+import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
+import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
+import org.wso2.carbon.base.ServerConfiguration;
+import org.wso2.carbon.core.util.CryptoUtil;
+import org.wso2.carbon.core.util.KeyStoreManager;
+import org.wso2.carbon.identity.core.util.IdentityKeyStoreResolverConstants;
+import org.wso2.carbon.identity.core.util.IdentityKeyStoreResolverException;
+import org.wso2.carbon.identity.core.util.IdentityTenantUtil;
+import org.wso2.carbon.security.keystore.KeyStoreManagementException;
+import org.wso2.carbon.utils.ServerConstants;
+import org.wso2.carbon.utils.security.KeystoreUtils;
+
+import java.io.ByteArrayOutputStream;
+import java.math.BigInteger;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+
+import static org.wso2.carbon.security.SecurityConstants.KeyStoreMgtConstants.KEY_STORE_CONTEXT_SEPARATOR;
+
+/**
+ * Implementation of the {@link IdentityKeyStoreGenerator} interface for generating and managing
+ * context-specific tenant key stores. This class provides functionality to create, manage, and store
+ * keystores in a multi-tenant environment, adhering to specific cryptographic requirements.
+ *
+ * Key Features:
+ *
+ * - Generates keystores for tenants dynamically.
+ * - Supports various cryptographic algorithms and key generation techniques.
+ * - Handles secure persistence of keystores using {@link KeyStoreManager}.
+ * - Provides explainable methods for certificate creation, storage, and retrieval.
+ *
+ *
+ * Usage:
+ * This class is intended to be used in environments where context-specific cryptographic needs
+ * must be met dynamically.
+ *
+ * Exceptions:
+ * The methods in this class throw {@link KeyStoreManagementException} for errors encountered during
+ * keystore creation, management, or persistence.
+ */
+public class IdentityKeyStoreGeneratorImpl implements IdentityKeyStoreGenerator {
+
+ private static final Log LOG = LogFactory.getLog(IdentityKeyStoreGeneratorImpl.class);
+ private static final String SIGNING_ALG = "Tenant.SigningAlgorithm";
+
+ // Supported signature algorithms for public certificate generation.
+ private static final String RSA_MD5 = "MD5withRSA";
+ private static final String RSA_SHA1 = "SHA1withRSA";
+ private static final String RSA_SHA256 = "SHA256withRSA";
+ private static final String RSA_SHA384 = "SHA384withRSA";
+ private static final String RSA_SHA512 = "SHA512withRSA";
+ private static final String[] signatureAlgorithms = new String[]{
+ RSA_MD5, RSA_SHA1, RSA_SHA256, RSA_SHA384, RSA_SHA512
+ };
+ private static final long CERT_NOT_BEFORE_TIME = 1000L * 60 * 60 * 24 * 30; // 30 days in milliseconds
+ private static final long CERT_NOT_AFTER_TIME = 1000L * 60 * 60 * 24 * 365 * 10; // 10 years in milliseconds
+
+ /**
+ * Generates a context-specific KeyStore for a given tenant domain if it does not already exist.
+ *
+ * This method checks whether a KeyStore exists for the specified tenant domain and context.
+ * If the KeyStore does not exist, it creates a new one, initializes it, generates the necessary
+ * key pairs, and persists it.
+ *
+ *
+ * @param tenantDomain the tenant domain for which the KeyStore is to be generated.
+ * @param context the specific context for which the KeyStore is to be generated.
+ * @throws KeyStoreManagementException if an error occurs during the KeyStore creation or initialization.
+ */
+ public void generateKeyStore(String tenantDomain, String context) throws KeyStoreManagementException {
+
+ int tenantId = IdentityTenantUtil.getTenantId(tenantDomain);
+ KeyStoreManager keyStoreManager = KeyStoreManager.getInstance(tenantId);
+
+ try {
+ IdentityTenantUtil.initializeRegistry(tenantId);
+ if (isContextKeyStoreExists(context, tenantDomain, keyStoreManager)) {
+ return; // KeyStore already exists, no need to create again
+ }
+ // Create the KeyStore
+ String password = generatePassword();
+ KeyStore keyStore = KeystoreUtils.getKeystoreInstance(
+ KeystoreUtils.getKeyStoreFileType(tenantDomain));
+ keyStore.load(null, password.toCharArray());
+ generateContextKeyPair(keyStore, context, tenantDomain, password);
+ persistContextKeyStore(keyStore, context, tenantDomain, password, keyStoreManager);
+ } catch (Exception e) {
+ String msg = "Error while instantiating a keystore";
+ throw new KeyStoreManagementException(msg, e);
+ }
+ }
+
+ private boolean isContextKeyStoreExists(String context, String tenantDomain, KeyStoreManager keyStoreManager)
+ throws KeyStoreManagementException {
+
+ String keyStoreName = KeystoreUtils.getKeyStoreFileLocation(buildDomainWithContext(tenantDomain, context));
+ boolean isKeyStoreExists = false;
+ try {
+ keyStoreManager.getKeyStore(keyStoreName);
+ isKeyStoreExists = true;
+ } catch (SecurityException e) {
+ if (e.getMessage() != null && e.getMessage().contains("Key Store with a name: " + keyStoreName
+ + " does not exist.")) {
+
+ String msg = "Key store not exits. Proceeding to create keystore : " + keyStoreName;
+ LOG.debug(msg + e.getMessage());
+ } else {
+ String msg = "Error while checking the existence of keystore.";
+ throw new KeyStoreManagementException(msg, e);
+ }
+ } catch (Exception e) {
+ String msg = "Error while checking the existence of keystore.";
+ throw new KeyStoreManagementException(msg, e);
+ }
+ return isKeyStoreExists;
+ }
+
+ /**
+ * This method is used to generate a random password for the generated keystore
+ *
+ * @return generated password
+ */
+ private String generatePassword() {
+
+ SecureRandom random = new SecureRandom();
+ String randString = new BigInteger(130, random).toString(12);
+ return randString.substring(randString.length() - 10);
+ }
+
+ /**
+ * Persists a context-specific KeyStore for a given tenant domain.
+ *
+ * This method stores the provided KeyStore in a persistent storage using the {@code KeyStoreManager}.
+ * It generates a KeyStore name based on the tenant domain and context, converts the KeyStore
+ * into a byte array, and saves it securely along with the provided password.
+ *
+ *
+ * @param keyStore the KeyStore to be persisted.
+ * @param context the specific context for which the KeyStore is being persisted.
+ * @param tenantDomain the tenant domain associated with the KeyStore.
+ * @param password the password used to protect the KeyStore.
+ * @param keyStoreManager the {@code KeyStoreManager} instance responsible for managing the persistence of the KeyStore.
+ * @throws KeyStoreManagementException if an error occurs while persisting the KeyStore or if security issues arise.
+ */
+ private void persistContextKeyStore(KeyStore keyStore, String context, String tenantDomain, String password,
+ KeyStoreManager keyStoreManager) throws KeyStoreManagementException {
+
+ String keyStoreName = generateContextKSNameFromDomainName(context, tenantDomain);
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ char[] passwordChar = password.toCharArray();
+ try {
+ keyStore.store(outputStream, passwordChar);
+ outputStream.flush();
+ outputStream.close();
+ } catch (Exception e) {
+ String msg = "Error occurred while storing the keystore or processing the public certificate for tenant: "
+ + tenantDomain + " and context: " + context + ". Ensure the keystore is valid and writable.";
+ throw new KeyStoreManagementException(msg, e);
+ }
+
+ try {
+
+ keyStoreManager.addKeyStore(outputStream.toByteArray(), keyStoreName,
+ passwordChar, " ", KeystoreUtils.getKeyStoreFileType(tenantDomain), passwordChar);
+ } catch (SecurityException e) {
+ if (e.getMessage() != null && e.getMessage().contains("Key store " + keyStoreName + " already available")) {
+
+ LOG.warn("Key store " + keyStoreName + " is already available, ignoring.");
+ } else {
+
+ String msg = "Error when adding a keyStore";
+ throw new KeyStoreManagementException(msg, e);
+ }
+ }
+ }
+
+ /**
+ * This method generates the keypair and stores it in the keystore.
+ *
+ * @param keyStore the KeyStore to be persisted.
+ * @param context the specific context for which the KeyStore is being persisted.
+ * @param tenantDomain the tenant domain associated with the KeyStore.
+ * @param password the password used to protect the KeyStore.
+ * @throws KeyStoreManagementException Error when generating key pair
+ */
+ private void generateContextKeyPair(KeyStore keyStore, String context, String tenantDomain, String password)
+ throws KeyStoreManagementException {
+
+ try {
+ CryptoUtil.getDefaultCryptoUtil();
+ // Generate key pair
+ KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
+ keyPairGenerator.initialize(2048);
+ KeyPair keyPair = keyPairGenerator.generateKeyPair();
+
+ // Common Name and alias for the generated certificate
+ String commonName = "CN=" + buildDomainWithContext(tenantDomain, context)
+ + ", OU=None, O=None, L=None, C=None";
+
+ // Generate certificates
+ X500Name distinguishedName = new X500Name(commonName);
+
+ Date notBefore = new Date(System.currentTimeMillis() - CERT_NOT_BEFORE_TIME);
+ Date notAfter = new Date(System.currentTimeMillis() + CERT_NOT_AFTER_TIME);
+
+ SubjectPublicKeyInfo subPubKeyInfo = SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded());
+ BigInteger serialNumber = BigInteger.valueOf(new SecureRandom().nextInt());
+
+ X509v3CertificateBuilder certificateBuilder = new X509v3CertificateBuilder(
+ distinguishedName,
+ serialNumber,
+ notBefore,
+ notAfter,
+ distinguishedName,
+ subPubKeyInfo
+ );
+
+ String algorithmName = getSignatureAlgorithm();
+ JcaContentSignerBuilder signerBuilder =
+ new JcaContentSignerBuilder(algorithmName).setProvider(getJCEProvider());
+ PrivateKey privateKey = keyPair.getPrivate();
+ X509Certificate x509Cert = new JcaX509CertificateConverter().setProvider(getJCEProvider())
+ .getCertificate(certificateBuilder.build(signerBuilder.build(privateKey)));
+
+ // Add private key to KS
+ keyStore.setKeyEntry(buildDomainWithContext(tenantDomain, context),
+ keyPair.getPrivate(), password.toCharArray(),
+ new java.security.cert.Certificate[]{x509Cert});
+ } catch (Exception ex) {
+ String msg = "Error while generating the Context certificate for tenant :" +
+ tenantDomain + ".";
+ throw new KeyStoreManagementException(msg, ex);
+ }
+ }
+
+ private static String getSignatureAlgorithm() {
+
+ String algorithm = ServerConfiguration.getInstance().getFirstProperty(SIGNING_ALG);
+ // Find in a list of supported signature algorithms.
+ for (String supportedAlgorithm : signatureAlgorithms) {
+ if (supportedAlgorithm.equalsIgnoreCase(algorithm)) {
+ return supportedAlgorithm;
+ }
+ }
+ return RSA_MD5;
+ }
+
+ private static String getJCEProvider() {
+
+ String provider = ServerConfiguration.getInstance().getFirstProperty(ServerConstants.JCE_PROVIDER);
+ if (!StringUtils.isBlank(provider)) {
+ return provider;
+ }
+ return ServerConstants.JCE_PROVIDER_BC;
+ }
+
+ /**
+ * This method generates the key store file name from the Domain Name
+ * @return keystore name.
+ */
+ private String generateContextKSNameFromDomainName(String context, String tenantDomain)
+ throws KeyStoreManagementException {
+
+ String ksName = tenantDomain.trim().replace(".", "-");
+ ksName = buildDomainWithContext(ksName, context);
+ return (ksName + KeystoreUtils.getKeyStoreFileExtension(tenantDomain));
+ }
+
+ /**
+ * Concatenates ksName and context with the separator.
+ *
+ * @param ksName the key store name
+ * @param context the context
+ * @return a concatenated string in the format ksName:context
+ */
+ private String buildDomainWithContext(String ksName, String context) throws KeyStoreManagementException {
+
+ if (ksName == null || context == null) {
+ throw new KeyStoreManagementException("ksName and context must not be null");
+ }
+ return ksName + KEY_STORE_CONTEXT_SEPARATOR + context;
+ }
+}
diff --git a/components/security-mgt/org.wso2.carbon.security.mgt/src/test/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGeneratorImplTest.java b/components/security-mgt/org.wso2.carbon.security.mgt/src/test/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGeneratorImplTest.java
new file mode 100644
index 000000000000..a8dfb803f402
--- /dev/null
+++ b/components/security-mgt/org.wso2.carbon.security.mgt/src/test/java/org/wso2/carbon/security/keystore/service/IdentityKeyStoreGeneratorImplTest.java
@@ -0,0 +1,260 @@
+/*
+ * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com).
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.wso2.carbon.security.keystore.service;
+
+import org.mockito.Mock;
+import org.mockito.MockedStatic;
+import org.mockito.stubbing.Answer;
+import org.mockito.testng.MockitoTestNGListener;
+import org.testng.annotations.*;
+import org.wso2.carbon.base.CarbonBaseConstants;
+import org.wso2.carbon.core.util.KeyStoreManager;
+import org.wso2.carbon.identity.core.util.IdentityTenantUtil;
+import org.wso2.carbon.identity.testutil.IdentityBaseTest;
+import org.wso2.carbon.security.keystore.KeyStoreManagementException;
+import org.wso2.carbon.utils.security.KeystoreUtils;
+
+import java.io.FileInputStream;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.Security;
+
+import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.Mockito.*;
+
+@Listeners(MockitoTestNGListener.class)
+public class IdentityKeyStoreGeneratorImplTest extends IdentityBaseTest {
+
+ private static final String KEYSTORE_PASSWORD = "wso2carbon";
+
+ private IdentityKeyStoreGeneratorImpl identityKeyStoreGenerator;
+
+ private MockedStatic identityTenantUtil;
+ @Mock
+ private KeyStoreManager keyStoreManager;
+
+ @Mock
+ private KeyStore mockKeyStore;
+
+
+ @BeforeMethod
+ public void setUp() throws Exception {
+
+ if (Security.getProvider("BC") == null) {
+ Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
+ }
+
+ System.setProperty(
+ CarbonBaseConstants.CARBON_HOME,
+ Paths.get(System.getProperty("user.dir"), "src", "test", "resources").toString()
+ );
+ identityTenantUtil = mockStatic(IdentityTenantUtil.class);
+ }
+
+ @AfterMethod
+ public void tearDown() throws Exception {
+
+ identityKeyStoreGenerator = null;
+ identityTenantUtil.close();
+ }
+
+ @Test(description = "Test the generation of a keystore for a given tenant domain and context if exits.")
+ public void testGenerateKeystoreIfExists() throws Exception {
+
+ try (MockedStatic keyStoreManager = mockStatic(KeyStoreManager.class);
+ MockedStatic keyStoreUtils = mockStatic(KeystoreUtils.class)) {
+
+ keyStoreManager.when(() -> KeyStoreManager.getInstance(anyInt())).thenReturn(this.keyStoreManager);
+ identityTenantUtil.when(()->IdentityTenantUtil.getTenantId("carbon.super"))
+ .thenReturn(-1234);
+ identityTenantUtil.when(() -> IdentityTenantUtil.initializeRegistry(anyInt()))
+ .thenAnswer((Answer) invocation -> null);
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileLocation("carbon.super--cookie"))
+ .thenReturn("carbon-super--cookie.jks");
+ when(this.keyStoreManager.getKeyStore("carbon-super--cookie.jks"))
+ .thenReturn(getKeyStoreFromFile("carbon-super--cookie.jks", KEYSTORE_PASSWORD));
+ identityKeyStoreGenerator = new IdentityKeyStoreGeneratorImpl();
+ identityKeyStoreGenerator.generateKeyStore("carbon.super", "cookie");
+ }
+ }
+
+ /**
+ * Sets up the mock behavior for KeyStoreManager and KeystoreUtils.
+ *
+ * @param exceptionToThrow the exception to throw when `getKeyStore` is called.
+ * @throws Exception if any setup steps fail.
+ */
+ private void setupKeyStoreMocksWithException(Exception exceptionToThrow) throws Exception {
+ try (MockedStatic keyStoreManager = mockStatic(KeyStoreManager.class);
+ MockedStatic keyStoreUtils = mockStatic(KeystoreUtils.class)) {
+
+ keyStoreManager.when(() -> KeyStoreManager.getInstance(anyInt())).thenReturn(this.keyStoreManager);
+ identityTenantUtil.when(() -> IdentityTenantUtil.getTenantId("carbon.super")).thenReturn(-1234);
+ identityTenantUtil.when(() -> IdentityTenantUtil.initializeRegistry(anyInt()))
+ .thenAnswer((Answer) invocation -> null);
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileLocation("carbon.super--cookie"))
+ .thenReturn("wso2carbon--cookie.jks");
+
+ when(this.keyStoreManager.getKeyStore("wso2carbon--cookie.jks")).thenThrow(exceptionToThrow);
+ }
+ }
+
+ @Test(description = "Test error creating a keystore for a given tenant domain and context with SecurityException.",
+ expectedExceptions = KeyStoreManagementException.class)
+ public void testGenerateKeystoreWithSecurityException() throws Exception {
+
+ setupKeyStoreMocksWithException(new SecurityException("Error while creating keystore."));
+ identityKeyStoreGenerator = new IdentityKeyStoreGeneratorImpl();
+ identityKeyStoreGenerator.generateKeyStore("carbon.super", "cookie");
+ }
+
+ @Test(description = "Test error creating a keystore for a given tenant domain and context with generic Exception.",
+ expectedExceptions = KeyStoreManagementException.class)
+ public void testGenerateKeystoreWithGenericException() throws Exception {
+
+ setupKeyStoreMocksWithException(new Exception("Error while creating keystore."));
+ identityKeyStoreGenerator = new IdentityKeyStoreGeneratorImpl();
+ identityKeyStoreGenerator.generateKeyStore("carbon.super", "cookie");
+ }
+
+
+ @Test(description = "Test the generation of a keystore for a given tenant domain and context if not exits.")
+ public void testGenerateKeystoreIfNotExists() throws Exception {
+
+ try (MockedStatic keyStoreManager = mockStatic(KeyStoreManager.class);
+ MockedStatic keyStoreUtils = mockStatic(KeystoreUtils.class)) {
+
+ keyStoreManager.when(() -> KeyStoreManager.getInstance(anyInt())).thenReturn(this.keyStoreManager);
+ identityTenantUtil.when(()->IdentityTenantUtil.getTenantId("carbon.super"))
+ .thenReturn(-1234);
+ identityTenantUtil.when(() -> IdentityTenantUtil.initializeRegistry(anyInt()))
+ .thenAnswer((Answer) invocation -> null);
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileLocation("carbon.super--cookie"))
+ .thenReturn("carbon-super--cookie.jks");
+ when(this.keyStoreManager.getKeyStore("carbon-super--cookie.jks"))
+ .thenThrow(new SecurityException("Key Store with a name: carbon-super--cookie.jks" +
+ " does not exist."));
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileType("carbon.super"))
+ .thenReturn("JKS");
+ keyStoreUtils.when(() -> KeystoreUtils.getKeystoreInstance("JKS"))
+ .thenReturn(this.mockKeyStore);
+ doNothing().when(this.mockKeyStore).setKeyEntry(anyString(), any(PrivateKey.class), any(), any());
+
+ identityKeyStoreGenerator = new IdentityKeyStoreGeneratorImpl();
+ identityKeyStoreGenerator.generateKeyStore("carbon.super", "cookie");
+ }
+ }
+
+ @Test(description = "Test the generation of a keystore for a given tenant domain and context if not exits.")
+ public void testGenerateKeystoreAlreadyExists() throws Exception {
+
+ try (MockedStatic keyStoreManager = mockStatic(KeyStoreManager.class);
+ MockedStatic keyStoreUtils = mockStatic(KeystoreUtils.class)) {
+
+ keyStoreManager.when(() -> KeyStoreManager.getInstance(anyInt())).thenReturn(this.keyStoreManager);
+ identityTenantUtil.when(()->IdentityTenantUtil.getTenantId("carbon.super"))
+ .thenReturn(-1234);
+ identityTenantUtil.when(() -> IdentityTenantUtil.initializeRegistry(anyInt()))
+ .thenAnswer((Answer) invocation -> null);
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileLocation("carbon.super--cookie"))
+ .thenReturn("carbon-super--cookie.jks");
+ when(this.keyStoreManager.getKeyStore("carbon-super--cookie.jks"))
+ .thenThrow(new SecurityException("Key Store with a name: carbon-super--cookie.jks" +
+ " does not exist."));
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileType("carbon.super"))
+ .thenReturn("JKS");
+ keyStoreUtils.when(() -> KeystoreUtils.getKeystoreInstance("JKS"))
+ .thenReturn(this.mockKeyStore);
+ doNothing().when(this.mockKeyStore).setKeyEntry(anyString(), any(PrivateKey.class), any(), any());
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileExtension("carbon.super"))
+ .thenReturn(".jks");
+ doThrow(new SecurityException("Key store carbon-super--cookie.jks already available"))
+ .when(this.keyStoreManager)
+ .addKeyStore(
+ any(byte[].class), // Match any byte array
+ anyString(), // Match any String
+ any(char[].class), // Match any char array
+ anyString(), // Match any String
+ anyString(), // Match any String
+ any(char[].class) // Match any char array
+ );
+
+ identityKeyStoreGenerator = new IdentityKeyStoreGeneratorImpl();
+ identityKeyStoreGenerator.generateKeyStore("carbon.super", "cookie");
+ }
+ }
+
+ @Test(description = "Test the generation of a keystore for a given tenant domain and context if not exits.",
+ expectedExceptions = KeyStoreManagementException.class)
+ public void testGenerateKeystoreIfNotExistsNegative() throws Exception {
+
+ try (MockedStatic keyStoreManager = mockStatic(KeyStoreManager.class);
+ MockedStatic keyStoreUtils = mockStatic(KeystoreUtils.class)) {
+
+ keyStoreManager.when(() -> KeyStoreManager.getInstance(anyInt())).thenReturn(this.keyStoreManager);
+ identityTenantUtil.when(()->IdentityTenantUtil.getTenantId("carbon.super"))
+ .thenReturn(-1234);
+ identityTenantUtil.when(() -> IdentityTenantUtil.initializeRegistry(anyInt()))
+ .thenAnswer((Answer) invocation -> null);
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileLocation("carbon.super--cookie"))
+ .thenReturn("carbon-super--cookie.jks");
+ when(this.keyStoreManager.getKeyStore("carbon-super--cookie.jks"))
+ .thenThrow(new SecurityException("Key Store with a name: carbon-super--cookie.jks" +
+ " does not exist."));
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileType("carbon.super"))
+ .thenReturn("JKS");
+ keyStoreUtils.when(() -> KeystoreUtils.getKeystoreInstance("JKS"))
+ .thenReturn(this.mockKeyStore);
+ doNothing().when(this.mockKeyStore).setKeyEntry(anyString(), any(PrivateKey.class), any(), any());
+ keyStoreUtils.when(() -> KeystoreUtils.getKeyStoreFileExtension("carbon.super"))
+ .thenReturn(".jks");
+ doThrow(new SecurityException("Error while adding keystore"))
+ .when(this.keyStoreManager)
+ .addKeyStore(
+ any(byte[].class), // Match any byte array
+ anyString(), // Match any String
+ any(char[].class), // Match any char array
+ anyString(), // Match any String
+ anyString(), // Match any String
+ any(char[].class) // Match any char array
+ );
+
+ identityKeyStoreGenerator = new IdentityKeyStoreGeneratorImpl();
+ identityKeyStoreGenerator.generateKeyStore("carbon.super", "cookie");
+ }
+ }
+
+
+ private Path createPath(String keystoreName) {
+
+ return Paths.get(System.getProperty(CarbonBaseConstants.CARBON_HOME), "repository",
+ "resources", "security", keystoreName);
+ }
+
+ private KeyStore getKeyStoreFromFile(String keystoreName, String password) throws Exception {
+
+ Path tenantKeystorePath = createPath(keystoreName);
+ FileInputStream file = new FileInputStream(tenantKeystorePath.toString());
+ KeyStore keystore = KeyStore.getInstance("JKS");
+ keystore.load(file, password.toCharArray());
+ return keystore;
+ }
+}
diff --git a/components/security-mgt/org.wso2.carbon.security.mgt/src/test/resources/repository/resources/security/carbon-super--cookie.jks b/components/security-mgt/org.wso2.carbon.security.mgt/src/test/resources/repository/resources/security/carbon-super--cookie.jks
new file mode 100644
index 000000000000..d5af4f42973a
Binary files /dev/null and b/components/security-mgt/org.wso2.carbon.security.mgt/src/test/resources/repository/resources/security/carbon-super--cookie.jks differ
diff --git a/components/security-mgt/org.wso2.carbon.security.mgt/src/test/resources/testng.xml b/components/security-mgt/org.wso2.carbon.security.mgt/src/test/resources/testng.xml
index ccc588beafc0..b74b69a95034 100644
--- a/components/security-mgt/org.wso2.carbon.security.mgt/src/test/resources/testng.xml
+++ b/components/security-mgt/org.wso2.carbon.security.mgt/src/test/resources/testng.xml
@@ -23,6 +23,7 @@
+
diff --git a/components/security-mgt/pom.xml b/components/security-mgt/pom.xml
index 4b9c7e93fb14..bcf7b34f5f2c 100644
--- a/components/security-mgt/pom.xml
+++ b/components/security-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/components/template-mgt/org.wso2.carbon.identity.template.mgt.ui/pom.xml b/components/template-mgt/org.wso2.carbon.identity.template.mgt.ui/pom.xml
index 79323b936851..94853d7c9342 100644
--- a/components/template-mgt/org.wso2.carbon.identity.template.mgt.ui/pom.xml
+++ b/components/template-mgt/org.wso2.carbon.identity.template.mgt.ui/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
template-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/components/template-mgt/org.wso2.carbon.identity.template.mgt/pom.xml b/components/template-mgt/org.wso2.carbon.identity.template.mgt/pom.xml
index 01bd843e7d76..e921243ca846 100644
--- a/components/template-mgt/org.wso2.carbon.identity.template.mgt/pom.xml
+++ b/components/template-mgt/org.wso2.carbon.identity.template.mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
template-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/components/template-mgt/pom.xml b/components/template-mgt/pom.xml
index 5db50828f237..5b8d9327c162 100644
--- a/components/template-mgt/pom.xml
+++ b/components/template-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/components/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt/pom.xml b/components/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt/pom.xml
index 1c29d7ca53a5..af65a0dde2ec 100644
--- a/components/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt/pom.xml
+++ b/components/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
trusted-app-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/trusted-app-mgt/pom.xml b/components/trusted-app-mgt/pom.xml
index 797ad73c6718..f9c978f76358 100644
--- a/components/trusted-app-mgt/pom.xml
+++ b/components/trusted-app-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/components/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt/pom.xml b/components/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt/pom.xml
index 81ccfe1aa6c2..a1162b13d5bd 100644
--- a/components/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt/pom.xml
+++ b/components/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt/pom.xml
@@ -21,7 +21,7 @@
user-functionality-mgt
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
4.0.0
diff --git a/components/user-functionality-mgt/pom.xml b/components/user-functionality-mgt/pom.xml
index 635d85e71b8a..6266a43e7800 100644
--- a/components/user-functionality-mgt/pom.xml
+++ b/components/user-functionality-mgt/pom.xml
@@ -21,7 +21,7 @@
identity-framework
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/components/user-mgt/org.wso2.carbon.identity.user.profile.ui/pom.xml b/components/user-mgt/org.wso2.carbon.identity.user.profile.ui/pom.xml
index d55370930dae..75b46777922d 100644
--- a/components/user-mgt/org.wso2.carbon.identity.user.profile.ui/pom.xml
+++ b/components/user-mgt/org.wso2.carbon.identity.user.profile.ui/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-mgt/org.wso2.carbon.identity.user.profile/pom.xml b/components/user-mgt/org.wso2.carbon.identity.user.profile/pom.xml
index de53559ebe5f..96ce53d345df 100644
--- a/components/user-mgt/org.wso2.carbon.identity.user.profile/pom.xml
+++ b/components/user-mgt/org.wso2.carbon.identity.user.profile/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-mgt/org.wso2.carbon.identity.user.registration/pom.xml b/components/user-mgt/org.wso2.carbon.identity.user.registration/pom.xml
index 4a02fd94d07f..f954c955abe6 100644
--- a/components/user-mgt/org.wso2.carbon.identity.user.registration/pom.xml
+++ b/components/user-mgt/org.wso2.carbon.identity.user.registration/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-mgt/org.wso2.carbon.role.mgt.ui/pom.xml b/components/user-mgt/org.wso2.carbon.role.mgt.ui/pom.xml
index 46728560f968..91d63d2e5d1f 100644
--- a/components/user-mgt/org.wso2.carbon.role.mgt.ui/pom.xml
+++ b/components/user-mgt/org.wso2.carbon.role.mgt.ui/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-mgt/org.wso2.carbon.user.mgt.common/pom.xml b/components/user-mgt/org.wso2.carbon.user.mgt.common/pom.xml
index 8620de64ef1d..4293ee704e1d 100644
--- a/components/user-mgt/org.wso2.carbon.user.mgt.common/pom.xml
+++ b/components/user-mgt/org.wso2.carbon.user.mgt.common/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-mgt/org.wso2.carbon.user.mgt.ui/pom.xml b/components/user-mgt/org.wso2.carbon.user.mgt.ui/pom.xml
index ea910ac4e1f8..c19092f3f519 100644
--- a/components/user-mgt/org.wso2.carbon.user.mgt.ui/pom.xml
+++ b/components/user-mgt/org.wso2.carbon.user.mgt.ui/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-mgt/org.wso2.carbon.user.mgt/pom.xml b/components/user-mgt/org.wso2.carbon.user.mgt/pom.xml
index 0493908fbabb..6489a728f3fa 100644
--- a/components/user-mgt/org.wso2.carbon.user.mgt/pom.xml
+++ b/components/user-mgt/org.wso2.carbon.user.mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-mgt/pom.xml b/components/user-mgt/pom.xml
index dc6898c712b5..f0e18c5b9db4 100644
--- a/components/user-mgt/pom.xml
+++ b/components/user-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/components/user-store/org.wso2.carbon.identity.user.store.configuration.deployer/pom.xml b/components/user-store/org.wso2.carbon.identity.user.store.configuration.deployer/pom.xml
index c673daec3594..4814dedb87b6 100644
--- a/components/user-store/org.wso2.carbon.identity.user.store.configuration.deployer/pom.xml
+++ b/components/user-store/org.wso2.carbon.identity.user.store.configuration.deployer/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-store
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-store/org.wso2.carbon.identity.user.store.configuration.ui/pom.xml b/components/user-store/org.wso2.carbon.identity.user.store.configuration.ui/pom.xml
index 905507a249f0..3bd6cdb51e8c 100644
--- a/components/user-store/org.wso2.carbon.identity.user.store.configuration.ui/pom.xml
+++ b/components/user-store/org.wso2.carbon.identity.user.store.configuration.ui/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-store
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-store/org.wso2.carbon.identity.user.store.configuration/pom.xml b/components/user-store/org.wso2.carbon.identity.user.store.configuration/pom.xml
index 513c574f6a8a..761bf48c3ce9 100644
--- a/components/user-store/org.wso2.carbon.identity.user.store.configuration/pom.xml
+++ b/components/user-store/org.wso2.carbon.identity.user.store.configuration/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-store
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-store/org.wso2.carbon.identity.user.store.count/pom.xml b/components/user-store/org.wso2.carbon.identity.user.store.count/pom.xml
index 22a5c984b348..049e460ec2ca 100644
--- a/components/user-store/org.wso2.carbon.identity.user.store.count/pom.xml
+++ b/components/user-store/org.wso2.carbon.identity.user.store.count/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-store
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/components/user-store/pom.xml b/components/user-store/pom.xml
index c3889bf417f5..dfbd85720d4a 100644
--- a/components/user-store/pom.xml
+++ b/components/user-store/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/action-mgt/org.wso2.carbon.identity.action.management.server.feature/pom.xml b/features/action-mgt/org.wso2.carbon.identity.action.management.server.feature/pom.xml
index c0a08894fd20..5e9e54411756 100644
--- a/features/action-mgt/org.wso2.carbon.identity.action.management.server.feature/pom.xml
+++ b/features/action-mgt/org.wso2.carbon.identity.action.management.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
action-management-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/action-mgt/pom.xml b/features/action-mgt/pom.xml
index 1601d12180d4..465f1bd7b891 100644
--- a/features/action-mgt/pom.xml
+++ b/features/action-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/pom.xml b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/pom.xml
index 68125e1fe19c..ba5c94f70794 100644
--- a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/pom.xml
+++ b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
api-resource-management-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml
index 50971188b370..baf584c2765e 100644
--- a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml
+++ b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml
@@ -377,11 +377,9 @@
-
-
@@ -400,11 +398,9 @@
-
-
diff --git a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml.j2 b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml.j2
index 138b22fd1a1b..f80d74bc6106 100644
--- a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml.j2
+++ b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/api-resource-collection.xml.j2
@@ -418,11 +418,9 @@
-
-
@@ -441,11 +439,9 @@
-
-
diff --git a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml
index da31c426930a..f54bcb21ee44 100644
--- a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml
+++ b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml
@@ -665,8 +665,12 @@
+
+
+
+
+
+
+
+
+
diff --git a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml.j2 b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml.j2
index 9fba6a3582e6..8d2745f4c686 100644
--- a/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml.j2
+++ b/features/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt.server.feature/resources/system-api-resource.xml.j2
@@ -674,8 +674,12 @@
+
+
+
+
+
+
+
+
+
diff --git a/features/api-resource-mgt/pom.xml b/features/api-resource-mgt/pom.xml
index 770d4a1069b1..f68491b8c0fc 100644
--- a/features/api-resource-mgt/pom.xml
+++ b/features/api-resource-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/application-mgt/org.wso2.carbon.identity.application.mgt.feature/pom.xml b/features/application-mgt/org.wso2.carbon.identity.application.mgt.feature/pom.xml
index aee597c1048d..4e459aeceb9c 100644
--- a/features/application-mgt/org.wso2.carbon.identity.application.mgt.feature/pom.xml
+++ b/features/application-mgt/org.wso2.carbon.identity.application.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
application-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/application-mgt/org.wso2.carbon.identity.application.mgt.server.feature/pom.xml b/features/application-mgt/org.wso2.carbon.identity.application.mgt.server.feature/pom.xml
index 471ac096bc6a..83135ee9336e 100644
--- a/features/application-mgt/org.wso2.carbon.identity.application.mgt.server.feature/pom.xml
+++ b/features/application-mgt/org.wso2.carbon.identity.application.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
application-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/application-mgt/org.wso2.carbon.identity.application.mgt.ui.feature/pom.xml b/features/application-mgt/org.wso2.carbon.identity.application.mgt.ui.feature/pom.xml
index 0351d079eddb..23abe1af3cd2 100644
--- a/features/application-mgt/org.wso2.carbon.identity.application.mgt.ui.feature/pom.xml
+++ b/features/application-mgt/org.wso2.carbon.identity.application.mgt.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
application-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml
index 96b6c00cc5c6..ee905537579f 100644
--- a/features/application-mgt/pom.xml
+++ b/features/application-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/pom.xml b/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/pom.xml
index fa5b501f65db..83f094d7bb41 100644
--- a/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/pom.xml
+++ b/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
authentication-framework-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/resources/org.wso2.carbon.identity.application.authentication.framework.server.feature.default.json b/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/resources/org.wso2.carbon.identity.application.authentication.framework.server.feature.default.json
index 73bb267b475e..327624b7c9b8 100644
--- a/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/resources/org.wso2.carbon.identity.application.authentication.framework.server.feature.default.json
+++ b/features/authentication-framework/org.wso2.carbon.identity.application.authentication.framework.server.feature/resources/org.wso2.carbon.identity.application.authentication.framework.server.feature.default.json
@@ -64,6 +64,7 @@
"authentication.authenticator.basic.parameters.AuthMechanism": "basic",
"authentication.authenticator.basic.parameters.Tags": "Username-Password",
"authentication.authenticator.basic.parameters.redirectToRetryPageOnAccountLock": "false",
+ "authentication.authenticator.basic.parameters.showAuthFailureReason": "true",
"authentication.authenticator.basic_request_path.name": "BasicAuthRequestPathAuthenticator",
"authentication.authenticator.basic_request_path.enable": true,
diff --git a/features/authentication-framework/pom.xml b/features/authentication-framework/pom.xml
index 249393ac5ca1..4af4239ebed0 100644
--- a/features/authentication-framework/pom.xml
+++ b/features/authentication-framework/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/carbon-authenticators/pom.xml b/features/carbon-authenticators/pom.xml
index 465600df8fdb..c4c0bfd6fc77 100644
--- a/features/carbon-authenticators/pom.xml
+++ b/features/carbon-authenticators/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/carbon-authenticators/thrift-authenticator/org.wso2.carbon.identity.thrift.authentication.feature/pom.xml b/features/carbon-authenticators/thrift-authenticator/org.wso2.carbon.identity.thrift.authentication.feature/pom.xml
index 56b212cc8bfd..70d9bcb7c7de 100644
--- a/features/carbon-authenticators/thrift-authenticator/org.wso2.carbon.identity.thrift.authentication.feature/pom.xml
+++ b/features/carbon-authenticators/thrift-authenticator/org.wso2.carbon.identity.thrift.authentication.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
thrift-authenticator-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/carbon-authenticators/thrift-authenticator/pom.xml b/features/carbon-authenticators/thrift-authenticator/pom.xml
index 6e286a72a952..2ade41b2a8aa 100644
--- a/features/carbon-authenticators/thrift-authenticator/pom.xml
+++ b/features/carbon-authenticators/thrift-authenticator/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-authenticator-features
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/categories/authorization/pom.xml b/features/categories/authorization/pom.xml
index fc16536cba39..d873193f587b 100644
--- a/features/categories/authorization/pom.xml
+++ b/features/categories/authorization/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/categories/inbound-authentication/pom.xml b/features/categories/inbound-authentication/pom.xml
index d311c4682911..4ffb0fce6a35 100644
--- a/features/categories/inbound-authentication/pom.xml
+++ b/features/categories/inbound-authentication/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/categories/inbound-provisioning/pom.xml b/features/categories/inbound-provisioning/pom.xml
index 82eb8f0fc415..42168805648e 100644
--- a/features/categories/inbound-provisioning/pom.xml
+++ b/features/categories/inbound-provisioning/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/categories/keystore-mgt/pom.xml b/features/categories/keystore-mgt/pom.xml
index 345411eb22ec..6a61431f4a1f 100644
--- a/features/categories/keystore-mgt/pom.xml
+++ b/features/categories/keystore-mgt/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/categories/notification-mgt/pom.xml b/features/categories/notification-mgt/pom.xml
index fdf615b5bcd1..c8aee5b14c42 100644
--- a/features/categories/notification-mgt/pom.xml
+++ b/features/categories/notification-mgt/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/categories/outbound-authentication/pom.xml b/features/categories/outbound-authentication/pom.xml
index ebbfe3d8f316..17a11e2f5998 100644
--- a/features/categories/outbound-authentication/pom.xml
+++ b/features/categories/outbound-authentication/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/categories/outbound-provisioning/pom.xml b/features/categories/outbound-provisioning/pom.xml
index 633615621b11..9cd54abdd3d2 100644
--- a/features/categories/outbound-provisioning/pom.xml
+++ b/features/categories/outbound-provisioning/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/categories/pom.xml b/features/categories/pom.xml
index d35f54fe0a9b..712c7cbd4884 100644
--- a/features/categories/pom.xml
+++ b/features/categories/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/categories/user-mgt/pom.xml b/features/categories/user-mgt/pom.xml
index 74735294e9e7..cf3565e84464 100644
--- a/features/categories/user-mgt/pom.xml
+++ b/features/categories/user-mgt/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../../pom.xml
diff --git a/features/central-logger/org.wso2.carbon.identity.central.log.mgt.server.feature/pom.xml b/features/central-logger/org.wso2.carbon.identity.central.log.mgt.server.feature/pom.xml
index 0d14c4297993..8f78614b4e65 100644
--- a/features/central-logger/org.wso2.carbon.identity.central.log.mgt.server.feature/pom.xml
+++ b/features/central-logger/org.wso2.carbon.identity.central.log.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
central-logger-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/central-logger/pom.xml b/features/central-logger/pom.xml
index c3e3a0a01a85..88101c55bf60 100644
--- a/features/central-logger/pom.xml
+++ b/features/central-logger/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/features/certificate-mgt/org.wso2.carbon.identity.certificate.management.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.identity.certificate.management.server.feature/pom.xml
index 2ea5cabaefee..8923100b7bc5 100644
--- a/features/certificate-mgt/org.wso2.carbon.identity.certificate.management.server.feature/pom.xml
+++ b/features/certificate-mgt/org.wso2.carbon.identity.certificate.management.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
certificate-management-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml
index 30e1dd8dfa41..09999d591785 100644
--- a/features/certificate-mgt/pom.xml
+++ b/features/certificate-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/claim-mgt/org.wso2.carbon.claim.mgt.feature/pom.xml b/features/claim-mgt/org.wso2.carbon.claim.mgt.feature/pom.xml
index a4a4bf894a20..1f8c24954cda 100644
--- a/features/claim-mgt/org.wso2.carbon.claim.mgt.feature/pom.xml
+++ b/features/claim-mgt/org.wso2.carbon.claim.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
claim-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/pom.xml b/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/pom.xml
index 64a44327acc9..178839b2a6f9 100644
--- a/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/pom.xml
+++ b/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
claim-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/resources/conf/claim-config.xml b/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/resources/conf/claim-config.xml
index e3c829346c9f..54dda2376dff 100644
--- a/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/resources/conf/claim-config.xml
+++ b/features/claim-mgt/org.wso2.carbon.claim.mgt.server.feature/resources/conf/claim-config.xml
@@ -844,6 +844,14 @@
true
+
+ http://wso2.org/claims/identity/passwordExpiryTime
+ Password Expiry Time
+ passwordExpiryTime
+ Claim to dynamically calculate password expiry time of user
+ true
+ request
+
@@ -2727,6 +2735,13 @@
14
http://wso2.org/claims/verifiedMobileNumbers
+
+ urn:scim:wso2:schema:passwordExpiryTime
+ Password Expiry Time
+ passwordExpiryTime
+ Password Expiry Time
+ http://wso2.org/claims/identity/passwordExpiryTime
+
diff --git a/features/claim-mgt/org.wso2.carbon.claim.mgt.ui.feature/pom.xml b/features/claim-mgt/org.wso2.carbon.claim.mgt.ui.feature/pom.xml
index 497d4d093392..75e348a7b6df 100644
--- a/features/claim-mgt/org.wso2.carbon.claim.mgt.ui.feature/pom.xml
+++ b/features/claim-mgt/org.wso2.carbon.claim.mgt.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
claim-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/claim-mgt/pom.xml b/features/claim-mgt/pom.xml
index ba565e9529be..c3f6068c0806 100644
--- a/features/claim-mgt/pom.xml
+++ b/features/claim-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/client-attestation-mgt/org.wso2.carbon.identity.client.attestation.mgt.server.feature/pom.xml b/features/client-attestation-mgt/org.wso2.carbon.identity.client.attestation.mgt.server.feature/pom.xml
index 1f55997d34de..c2ba26bbb2e9 100644
--- a/features/client-attestation-mgt/org.wso2.carbon.identity.client.attestation.mgt.server.feature/pom.xml
+++ b/features/client-attestation-mgt/org.wso2.carbon.identity.client.attestation.mgt.server.feature/pom.xml
@@ -23,7 +23,7 @@
org.wso2.carbon.identity.framework
client-attestation-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/client-attestation-mgt/pom.xml b/features/client-attestation-mgt/pom.xml
index b45dff5f75a5..8a1511585334 100644
--- a/features/client-attestation-mgt/pom.xml
+++ b/features/client-attestation-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/features/configuration-mgt/org.wso2.carbon.identity.configuration.mgt.server.feature/pom.xml b/features/configuration-mgt/org.wso2.carbon.identity.configuration.mgt.server.feature/pom.xml
index 1590be70a5fc..f378ae585331 100644
--- a/features/configuration-mgt/org.wso2.carbon.identity.configuration.mgt.server.feature/pom.xml
+++ b/features/configuration-mgt/org.wso2.carbon.identity.configuration.mgt.server.feature/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
configuration-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/configuration-mgt/pom.xml b/features/configuration-mgt/pom.xml
index c23d471f5fc8..f4c80348b5dd 100644
--- a/features/configuration-mgt/pom.xml
+++ b/features/configuration-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/consent-mgt/org.wso2.carbon.identity.consent.mgt.server.feature/pom.xml b/features/consent-mgt/org.wso2.carbon.identity.consent.mgt.server.feature/pom.xml
index 454c435fad03..7d6cfee958a6 100644
--- a/features/consent-mgt/org.wso2.carbon.identity.consent.mgt.server.feature/pom.xml
+++ b/features/consent-mgt/org.wso2.carbon.identity.consent.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-consent-mgt-aggregator
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/consent-mgt/pom.xml b/features/consent-mgt/pom.xml
index 5481cc074a20..91314197f570 100644
--- a/features/consent-mgt/pom.xml
+++ b/features/consent-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/consent-server-configs-mgt/org.wso2.carbon.identity.consent.server.configs.mgt.server.feature/pom.xml b/features/consent-server-configs-mgt/org.wso2.carbon.identity.consent.server.configs.mgt.server.feature/pom.xml
index bede92a6dc44..72ca85ba8cd1 100644
--- a/features/consent-server-configs-mgt/org.wso2.carbon.identity.consent.server.configs.mgt.server.feature/pom.xml
+++ b/features/consent-server-configs-mgt/org.wso2.carbon.identity.consent.server.configs.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
consent-server-configs-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/consent-server-configs-mgt/pom.xml b/features/consent-server-configs-mgt/pom.xml
index c86b3b856041..fdbbe5c31a12 100644
--- a/features/consent-server-configs-mgt/pom.xml
+++ b/features/consent-server-configs-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/features/cors-mgt/org.wso2.carbon.identity.cors.mgt.server.feature/pom.xml b/features/cors-mgt/org.wso2.carbon.identity.cors.mgt.server.feature/pom.xml
index 47b77312aa5f..46f2f0a47f64 100644
--- a/features/cors-mgt/org.wso2.carbon.identity.cors.mgt.server.feature/pom.xml
+++ b/features/cors-mgt/org.wso2.carbon.identity.cors.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
cors-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/cors-mgt/pom.xml b/features/cors-mgt/pom.xml
index f74e313e6bca..124e2b73232d 100644
--- a/features/cors-mgt/pom.xml
+++ b/features/cors-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.feature/pom.xml b/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.feature/pom.xml
index d0061209dff8..32a3c65362d8 100644
--- a/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.feature/pom.xml
+++ b/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
directory-server-manager-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.server.feature/pom.xml b/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.server.feature/pom.xml
index 8b7b5e806234..83a10ce593f4 100644
--- a/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.server.feature/pom.xml
+++ b/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
directory-server-manager-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.ui.feature/pom.xml b/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.ui.feature/pom.xml
index eff6c84a233f..ee2dea1ca63a 100644
--- a/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.ui.feature/pom.xml
+++ b/features/directory-server-manager/org.wso2.carbon.directory.service.mgr.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
directory-server-manager-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/directory-server-manager/pom.xml b/features/directory-server-manager/pom.xml
index 29993ebbf520..41cb6feeaa17 100644
--- a/features/directory-server-manager/pom.xml
+++ b/features/directory-server-manager/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/extension-mgt/org.wso2.carbon.identity.extension.mgt.feature/pom.xml b/features/extension-mgt/org.wso2.carbon.identity.extension.mgt.feature/pom.xml
index 81ad043b9c71..00e7f9015d1b 100644
--- a/features/extension-mgt/org.wso2.carbon.identity.extension.mgt.feature/pom.xml
+++ b/features/extension-mgt/org.wso2.carbon.identity.extension.mgt.feature/pom.xml
@@ -19,7 +19,7 @@
extension-management-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
org.wso2.carbon.identity.extension.mgt.feature
diff --git a/features/extension-mgt/pom.xml b/features/extension-mgt/pom.xml
index 70ade2b71f36..82967157972b 100644
--- a/features/extension-mgt/pom.xml
+++ b/features/extension-mgt/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.feature/pom.xml b/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.feature/pom.xml
index 0b36c07236c5..3426df4af49b 100644
--- a/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.feature/pom.xml
+++ b/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
functions-library-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.server.feature/pom.xml b/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.server.feature/pom.xml
index fe8e79c3645e..d73a590dd360 100644
--- a/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.server.feature/pom.xml
+++ b/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
functions-library-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.ui.feature/pom.xml b/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.ui.feature/pom.xml
index 0217af037b2d..c578ba92df85 100644
--- a/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.ui.feature/pom.xml
+++ b/features/functions-library-mgt/org.wso2.carbon.identity.functions.library.mgt.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
functions-library-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/functions-library-mgt/pom.xml b/features/functions-library-mgt/pom.xml
index 6366980ed6bb..0a8015c3044f 100644
--- a/features/functions-library-mgt/pom.xml
+++ b/features/functions-library-mgt/pom.xml
@@ -28,7 +28,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/identity-core/org.wso2.carbon.identity.core.feature/pom.xml b/features/identity-core/org.wso2.carbon.identity.core.feature/pom.xml
index 392fcf7d7347..91365ff3aa92 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.feature/pom.xml
+++ b/features/identity-core/org.wso2.carbon.identity.core.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-core-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/pom.xml b/features/identity-core/org.wso2.carbon.identity.core.server.feature/pom.xml
index 4e145ed3544e..685d66d09fa8 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/pom.xml
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-core-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/db2.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/db2.sql
index d54358c91286..c50fcd814592 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/db2.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/db2.sql
@@ -2079,6 +2079,9 @@ CREATE TABLE IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -2101,6 +2104,9 @@ CREATE TABLE IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -2125,6 +2131,9 @@ CREATE TABLE IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -2150,7 +2159,7 @@ CREATE TABLE IDN_ACTION (
PRIMARY KEY (UUID)
)
/
-CREATE TABLE IDN_ACTION_ENDPOINT (
+CREATE TABLE IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -2177,6 +2186,43 @@ REFERENCING NEW AS NEW FOR EACH ROW MODE DB2SQL
= (NEXTVAL FOR IDN_OAUTH2_TOKEN_CLAIMS_SEQ);
END
/
+CREATE TABLE IDN_RULE (
+ ID INTEGER NOT NULL,
+ UUID CHAR(36) NOT NULL,
+ CONTENT BLOB NOT NULL,
+ IS_ACTIVE BOOLEAN DEFAULT TRUE,
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID),
+ UNIQUE (UUID)
+)
+/
+CREATE SEQUENCE IDN_RULE_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
+/
+CREATE TRIGGER IDN_RULE_TRIG NO CASCADE BEFORE INSERT ON IDN_RULE_REFERENCES
+REFERENCING NEW AS NEW FOR EACH ROW MODE DB2SQL
+ BEGIN ATOMIC
+ SET (NEW.ID) = (NEXTVAL FOR IDN_RULE_SEQ);
+ END
+/
+CREATE TABLE IDN_RULE_REFERENCES (
+ ID INTEGER NOT NULL,
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
+)
+/
+CREATE SEQUENCE IDN_RULE_REFERENCES_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
+/
+CREATE TRIGGER IDN_RULE_REFERENCES_TRIG NO CASCADE BEFORE INSERT ON IDN_RULE_REFERENCES
+REFERENCING NEW AS NEW FOR EACH ROW MODE DB2SQL
+ BEGIN ATOMIC
+ SET (NEW.ID) = (NEXTVAL FOR IDN_RULE_REFERENCES_SEQ);
+ END
+/
-- --------------------------- INDEX CREATION -----------------------------
-- IDN_OAUTH2_ACCESS_TOKEN --
@@ -2334,7 +2380,7 @@ CREATE INDEX API_ID_NAME_INDEX ON SCOPE (API_ID, NAME);
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID);
/
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID);
/
-- CERTIFICATE --
@@ -2343,10 +2389,15 @@ CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID)
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID)
/
---SAML--
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID)
+/
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID)
+/
+
+-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
/
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
/
CREATE INDEX IDX_SAML2_SP_PROPERTIES ON IDN_SAML2_SP_PROPERTIES (SP_ID);
-/
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/h2.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/h2.sql
index 1630c726bf68..d676b9584a5a 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/h2.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/h2.sql
@@ -1363,6 +1363,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -1378,6 +1381,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -1395,6 +1401,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -1411,7 +1420,7 @@ CREATE TABLE IF NOT EXISTS IDN_ACTION (
PRIMARY KEY (UUID)
);
-CREATE TABLE IF NOT EXISTS IDN_ACTION_ENDPOINT (
+CREATE TABLE IF NOT EXISTS IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -1545,6 +1554,26 @@ CREATE TABLE IF NOT EXISTS IDN_XACML_POLICY_STATUS (
POLICY_VERSION INTEGER NOT NULL DEFAULT -1,
TENANT_ID INTEGER NOT NULL,
PRIMARY KEY (ID)
+
+CREATE TABLE IF NOT EXISTS IDN_RULE (
+ ID INTEGER NOT NULL AUTO_INCREMENT,
+ UUID CHAR(36) NOT NULL,
+ CONTENT BLOB NOT NULL,
+ IS_ACTIVE BOOLEAN DEFAULT TRUE,
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID),
+ UNIQUE (UUID)
+);
+
+CREATE TABLE IF NOT EXISTS IDN_RULE_REFERENCES (
+ ID INTEGER NOT NULL AUTO_INCREMENT,
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
);
-- --------------------------- INDEX CREATION -----------------------------
@@ -1654,12 +1683,16 @@ CREATE INDEX API_ID_NAME_INDEX ON SCOPE (API_ID, NAME);
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID);
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID);
-- CERTIFICATE --
CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID);
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID);
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID);
+
-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mssql.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mssql.sql
index cea3e86b9b5a..5960b16a27ca 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mssql.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mssql.sql
@@ -1510,6 +1510,9 @@ CREATE TABLE IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT DATETIME NOT NULL,
+ UPDATED_AT DATETIME NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -1524,6 +1527,9 @@ CREATE TABLE IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT DATETIME NOT NULL,
+ UPDATED_AT DATETIME NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -1540,6 +1546,9 @@ CREATE TABLE IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT DATETIME NOT NULL,
+ UPDATED_AT DATETIME NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -1557,8 +1566,8 @@ CREATE TABLE IDN_ACTION (
PRIMARY KEY (UUID)
);
-IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_ACTION_ENDPOINT]') AND TYPE in (N'U'))
-CREATE TABLE IDN_ACTION_ENDPOINT (
+IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_ACTION_PROPERTIES]') AND TYPE in (N'U'))
+CREATE TABLE IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -1577,6 +1586,29 @@ CREATE TABLE IDN_OAUTH2_TOKEN_CLAIMS (
FOREIGN KEY (APP_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
);
+IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_RULE]') AND TYPE IN (N'U'))
+CREATE TABLE IDN_RULE (
+ ID INTEGER IDENTITY,
+ UUID CHAR(36) NOT NULL,
+ CONTENT VARBINARY(MAX) NOT NULL,
+ IS_ACTIVE BIT DEFAULT 1,
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID),
+ UNIQUE (UUID)
+);
+
+IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_RULE_REFERENCES]') AND TYPE IN (N'U'))
+CREATE TABLE IDN_RULE_REFERENCES (
+ ID INTEGER IDENTITY,
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
+);
+
-- --------------------------- INDEX CREATION -----------------------------
-- IDN_OAUTH2_ACCESS_TOKEN --
CREATE INDEX IDX_TC ON IDN_OAUTH2_ACCESS_TOKEN(TIME_CREATED);
@@ -1685,17 +1717,22 @@ CREATE INDEX API_ID_NAME_INDEX ON SCOPE (API_ID, NAME);
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID);
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID);
-- CERTIFICATE --
CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID);
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID);
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID);
+
-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
CREATE INDEX IDX_SAML2_SP_PROPERTIES ON IDN_SAML2_SP_PROPERTIES (SP_ID);
+
GO
-- Trigger IDN_CLAIM delete by dialect on IDN_CLAIM_DIALECT deletion --
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql-cluster.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql-cluster.sql
index 0a177ef56dc1..88fd07cbe1e6 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql-cluster.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql-cluster.sql
@@ -1526,6 +1526,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -1539,6 +1542,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -1554,6 +1560,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -1570,7 +1579,7 @@ CREATE TABLE IF NOT EXISTS IDN_ACTION (
PRIMARY KEY (UUID)
)ENGINE NDB;
-CREATE TABLE IF NOT EXISTS IDN_ACTION_ENDPOINT (
+CREATE TABLE IF NOT EXISTS IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -1588,6 +1597,27 @@ CREATE TABLE IF NOT EXISTS IDN_OAUTH2_TOKEN_CLAIMS (
FOREIGN KEY (APP_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
)ENGINE NDB;
+CREATE TABLE IF NOT EXISTS IDN_RULE (
+ ID INTEGER AUTO_INCREMENT,
+ UUID CHAR(36) NOT NULL,
+ CONTENT BLOB NOT NULL,
+ IS_ACTIVE BOOLEAN DEFAULT TRUE,
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID),
+ UNIQUE (UUID)
+)ENGINE NDB;
+
+CREATE TABLE IF NOT EXISTS IDN_RULE_REFERENCES (
+ ID INTEGER AUTO_INCREMENT,
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
+)ENGINE NDB;
+
-- --------------------------- INDEX CREATION -----------------------------
-- IDN_OAUTH2_ACCESS_TOKEN --
CREATE INDEX IDX_TC
@@ -1724,13 +1754,18 @@ CREATE INDEX API_ID_NAME_INDEX ON SCOPE (API_ID, NAME);
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID);
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID);
-- CERTIFICATE --
CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID);
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID);
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID);
+
-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
CREATE INDEX IDX_SAML2_SP_PROPERTIES ON IDN_SAML2_SP_PROPERTIES (SP_ID);
+
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql.sql
index cc5db207c302..1898fd776121 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/mysql.sql
@@ -1394,6 +1394,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -1407,6 +1410,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -1422,6 +1428,9 @@ CREATE TABLE IF NOT EXISTS IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -1438,7 +1447,7 @@ CREATE TABLE IF NOT EXISTS IDN_ACTION (
PRIMARY KEY (UUID)
)DEFAULT CHARACTER SET latin1 ENGINE INNODB;
-CREATE TABLE IF NOT EXISTS IDN_ACTION_ENDPOINT (
+CREATE TABLE IF NOT EXISTS IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -1456,6 +1465,27 @@ CREATE TABLE IF NOT EXISTS IDN_OAUTH2_TOKEN_CLAIMS (
FOREIGN KEY (APP_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
)DEFAULT CHARACTER SET latin1 ENGINE INNODB;
+CREATE TABLE IF NOT EXISTS IDN_RULE (
+ ID INTEGER AUTO_INCREMENT,
+ UUID CHAR(36) NOT NULL,
+ CONTENT BLOB NOT NULL,
+ IS_ACTIVE BOOLEAN DEFAULT TRUE,
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID),
+ UNIQUE (UUID)
+)DEFAULT CHARACTER SET latin1 ENGINE INNODB;
+
+CREATE TABLE IF NOT EXISTS IDN_RULE_REFERENCES (
+ ID INTEGER AUTO_INCREMENT,
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
+)DEFAULT CHARACTER SET latin1 ENGINE INNODB;
+
-- --------------------------- INDEX CREATION -----------------------------
-- IDN_OAUTH2_ACCESS_TOKEN --
CREATE INDEX IDX_TC ON IDN_OAUTH2_ACCESS_TOKEN(TIME_CREATED);
@@ -1560,13 +1590,18 @@ CREATE INDEX API_ID_NAME_INDEX ON SCOPE (API_ID, NAME);
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID);
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID);
-- CERTIFICATE --
CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID);
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID);
---SAML--
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID);
+
+-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
CREATE INDEX IDX_SAML2_SP_PROPERTIES ON IDN_SAML2_SP_PROPERTIES (SP_ID);
+
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle.sql
index 489e4dcca39a..bc205d6f02c2 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle.sql
@@ -2136,6 +2136,9 @@ CREATE TABLE IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -2160,6 +2163,9 @@ CREATE TABLE IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -2186,6 +2192,9 @@ CREATE TABLE IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -2213,7 +2222,7 @@ CREATE TABLE IDN_ACTION (
PRIMARY KEY (UUID)
)
/
-CREATE TABLE IDN_ACTION_ENDPOINT (
+CREATE TABLE IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -2242,6 +2251,45 @@ CREATE OR REPLACE TRIGGER IDN_OAUTH2_TOKEN_CLAIMS_TRIG
SELECT IDN_OAUTH2_TOKEN_CLAIMS_SEQ.nextval INTO :NEW.ID FROM dual;
END;
/
+CREATE TABLE IDN_RULE (
+ ID INTEGER,
+ UUID CHAR(36) NOT NULL,
+ CONTENT BLOB NOT NULL,
+ IS_ACTIVE CHAR (1) DEFAULT '1',
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID),
+ UNIQUE (UUID)
+)
+/
+CREATE SEQUENCE IDN_RULE_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
+/
+CREATE OR REPLACE TRIGGER IDN_RULE_TRIGGER
+ BEFORE INSERT ON IDN_RULE
+ REFERENCING NEW AS NEW FOR EACH ROW
+ BEGIN
+ SELECT IDN_RULE_SEQ.nextval INTO :NEW.ID FROM dual;
+ END;
+/
+CREATE TABLE IDN_RULE_REFERENCES (
+ ID INTEGER,
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
+)
+/
+CREATE SEQUENCE IDN_RULE_REFERENCES_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
+/
+CREATE OR REPLACE TRIGGER IDN_RULE_REFERENCES_TRIGGER
+ BEFORE INSERT ON IDN_RULE_REFERENCES
+ REFERENCING NEW AS NEW FOR EACH ROW
+ BEGIN
+ SELECT IDN_RULE_REFERENCES_SEQ.nextval INTO :NEW.ID FROM dual;
+ END;
+/
-- --------------------------- INDEX CREATION -----------------------------
-- IDN_OAUTH2_ACCESS_TOKEN --
@@ -2391,7 +2439,7 @@ CREATE INDEX IDX_CON_FILE_RES_ID ON IDN_CONFIG_FILE (RESOURCE_ID)
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID)
/
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID)
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID)
/
-- CERTIFICATE --
@@ -2400,10 +2448,15 @@ CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID)
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID)
/
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID)
+/
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID)
+/
+
-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
/
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
/
CREATE INDEX IDX_SAML2_SP_PROPERTIES ON IDN_SAML2_SP_PROPERTIES (SP_ID);
-/
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle_rac.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle_rac.sql
index 7e49ca8045fc..278df7952da5 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle_rac.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle_rac.sql
@@ -2069,6 +2069,9 @@ CREATE TABLE IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -2093,6 +2096,9 @@ CREATE TABLE IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -2119,6 +2125,9 @@ CREATE TABLE IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -2146,7 +2155,7 @@ CREATE TABLE IDN_ACTION (
PRIMARY KEY (UUID)
)
/
-CREATE TABLE IDN_ACTION_ENDPOINT (
+CREATE TABLE IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -2175,7 +2184,45 @@ CREATE OR REPLACE TRIGGER IDN_OAUTH2_TOKEN_CLAIMS_TRIG
SELECT IDN_OAUTH2_TOKEN_CLAIMS_SEQ.nextval INTO :NEW.ID FROM dual;
END;
/
-
+CREATE TABLE IDN_RULE (
+ ID INTEGER,
+ UUID CHAR(36) NOT NULL,
+ CONTENT BLOB NOT NULL,
+ IS_ACTIVE CHAR (1) DEFAULT '1',
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID),
+ UNIQUE (UUID)
+)
+/
+CREATE SEQUENCE IDN_RULE_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
+/
+CREATE OR REPLACE TRIGGER IDN_RULE_TRIGGER
+ BEFORE INSERT ON IDN_RULE
+ REFERENCING NEW AS NEW FOR EACH ROW
+ BEGIN
+ SELECT IDN_RULE_SEQ.nextval INTO :NEW.ID FROM dual;
+ END;
+/
+CREATE TABLE IDN_RULE_REFERENCES (
+ ID INTEGER,
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
+)
+/
+CREATE SEQUENCE IDN_RULE_REFERENCES_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
+/
+CREATE OR REPLACE TRIGGER IDN_RULE_REFERENCES_TRIGGER
+ BEFORE INSERT ON IDN_RULE_REFERENCES
+ REFERENCING NEW AS NEW FOR EACH ROW
+ BEGIN
+ SELECT IDN_RULE_REFERENCES_SEQ.nextval INTO :NEW.ID FROM dual;
+ END;
+/
-- --------------------------- INDEX CREATION -----------------------------
-- IDN_OAUTH2_ACCESS_TOKEN --
CREATE INDEX IDX_TC ON IDN_OAUTH2_ACCESS_TOKEN(TIME_CREATED)
@@ -2296,7 +2343,7 @@ CREATE INDEX API_ID_NAME_INDEX ON SCOPE (API_ID, NAME)
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID)
/
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID)
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID)
/
-- CERTIFICATE --
@@ -2305,10 +2352,15 @@ CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID)
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID)
/
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID)
+/
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID)
+/
+
-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
/
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
/
CREATE INDEX IDX_SAML2_SP_PROPERTIES ON IDN_SAML2_SP_PROPERTIES (SP_ID);
-/
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/postgresql.sql b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/postgresql.sql
index 24407b7b0a6c..7b51ab2cf7c6 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/postgresql.sql
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/postgresql.sql
@@ -1630,6 +1630,9 @@ CREATE TABLE IDN_NOTIFICATION_TYPE (
NAME VARCHAR(255) NOT NULL,
CHANNEL VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT NOTIFICATION_TYPE_KEY_CONSTRAINT UNIQUE (TYPE_KEY, CHANNEL, TENANT_ID),
CONSTRAINT NOTIFICATION_TYPE_NAME_CONSTRAINT UNIQUE (NAME, CHANNEL, TENANT_ID)
@@ -1646,6 +1649,9 @@ CREATE TABLE IDN_NOTIFICATION_ORG_TEMPLATE (
CONTENT_TYPE VARCHAR(50),
TYPE_ID INTEGER NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT ORG_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, TENANT_ID),
@@ -1664,6 +1670,9 @@ CREATE TABLE IDN_NOTIFICATION_APP_TEMPLATE (
TYPE_ID INTEGER NOT NULL,
APP_ID VARCHAR(255) NOT NULL,
TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ CREATED_AT TIMESTAMP NOT NULL,
+ UPDATED_AT TIMESTAMP NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (TYPE_ID) REFERENCES IDN_NOTIFICATION_TYPE(ID) ON DELETE CASCADE,
CONSTRAINT APP_NOTIFICATION_TEMPLATE_KEY_CONSTRAINT UNIQUE (TEMPLATE_KEY, TYPE_ID, APP_ID, TENANT_ID),
@@ -1681,8 +1690,8 @@ CREATE TABLE IF NOT EXISTS IDN_ACTION (
PRIMARY KEY (UUID)
);
-DROP TABLE IF EXISTS IDN_ACTION_ENDPOINT;
-CREATE TABLE IF NOT EXISTS IDN_ACTION_ENDPOINT (
+DROP TABLE IF EXISTS IDN_ACTION_PROPERTIES;
+CREATE TABLE IF NOT EXISTS IDN_ACTION_PROPERTIES (
ACTION_UUID CHAR(36) NOT NULL,
PROPERTY_NAME VARCHAR(100) NOT NULL,
PROPERTY_VALUE VARCHAR(255) NOT NULL,
@@ -1703,6 +1712,33 @@ CREATE TABLE IDN_OAUTH2_TOKEN_CLAIMS (
FOREIGN KEY (APP_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
);
+DROP TABLE IF EXISTS IDN_RULE;
+DROP SEQUENCE IF EXISTS IDN_RULE_SEQ;
+CREATE SEQUENCE IDN_RULE_SEQ;
+CREATE TABLE IDN_RULE (
+ ID INTEGER NOT NULL DEFAULT NEXTVAL('IDN_RULE_SEQ'),
+ UUID CHAR(36) NOT NULL,
+ CONTENT BYTEA NOT NULL,
+ IS_ACTIVE BOOLEAN DEFAULT TRUE,
+ TENANT_ID INTEGER NOT NULL,
+ VERSION VARCHAR(15) NOT NULL,
+ PRIMARY KEY (ID)
+ UNIQUE (UUID)
+);
+
+DROP TABLE IF EXISTS IDN_RULE_REFERENCES;
+DROP SEQUENCE IF EXISTS IDN_RULE_REFERENCES_SEQ;
+CREATE SEQUENCE IDN_RULE_REFERENCES_SEQ;
+CREATE TABLE IDN_RULE_REFERENCES (
+ ID INTEGER NOT NULL DEFAULT NEXTVAL('IDN_RULE_REFERENCES_SEQ'),
+ RULE_ID INTEGER NOT NULL,
+ FIELD_NAME VARCHAR(100) NOT NULL,
+ FIELD_REFERENCE VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (RULE_ID) REFERENCES IDN_RULE(ID) ON DELETE CASCADE
+);
+
-- --------------------------- INDEX CREATION -----------------------------
-- IDN_OAUTH2_ACCESS_TOKEN --
CREATE INDEX IDX_TC ON IDN_OAUTH2_ACCESS_TOKEN(TIME_CREATED);
@@ -1813,12 +1849,16 @@ CREATE INDEX API_ID_NAME_INDEX ON SCOPE (API_ID, NAME);
-- ACTIONS --
CREATE INDEX IDX_IDN_ACTION_TY_TI ON IDN_ACTION (TYPE, TENANT_ID);
-CREATE INDEX IDX_IDN_ACTION_ENDPOINT_AU_TI ON IDN_ACTION_ENDPOINT (ACTION_UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_ACTION_PROPERTIES_AU_TI ON IDN_ACTION_PROPERTIES (ACTION_UUID, TENANT_ID);
-- CERTIFICATE --
CREATE INDEX IDX_IDN_CERTIFICATE_ID_TID ON IDN_CERTIFICATE (ID, TENANT_ID);
CREATE INDEX IDX_IDN_CERTIFICATE_UUID_TID ON IDN_CERTIFICATE (UUID, TENANT_ID);
+-- RULES --
+CREATE INDEX IDX_IDN_RULE_UUID_TID ON IDN_RULE (UUID, TENANT_ID);
+CREATE INDEX IDX_IDN_RULE_REF_RID_TID ON IDN_RULE_REFERENCES (RULE_ID, TENANT_ID);
+
-- SAML --
CREATE INDEX IDX_SAML2_SP_ISSUER ON IDN_SAML2_SERVICE_PROVIDER (ISSUER, TENANT_ID);
CREATE INDEX IDX_SAML2_SP_TENANT_ID ON IDN_SAML2_SERVICE_PROVIDER (TENANT_ID);
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml
index 6e0b2662e036..5e5159bfa1c3 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml
@@ -78,7 +78,6 @@
database
database
-
@@ -1174,6 +1173,7 @@
true
+ false
@@ -1274,6 +1274,9 @@
identity data store value is empty for corresponding claim. -->
false
+
@@ -2318,6 +2321,19 @@
internal_action_mgt_view
+
+ /permission/admin/manage/custom_authenticator/create
+ internal_custom_authenticator_create
+
+
+ /permission/admin/manage/custom_authenticator/update
+ internal_custom_authenticator_update
+
+
+ /permission/admin/manage/custom_authenticator/delete
+ internal_custom_authenticator_delete
+
+
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml.j2 b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml.j2
index 3d6057494470..e586c1a6c036 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml.j2
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/identity.xml.j2
@@ -86,7 +86,6 @@
-->
{{data_storage_type.notification_templates}}
- {{data_storage_type.keystores}}
{{data_storage_type.xacml}}
{{data_storage_type.saml}}
@@ -97,6 +96,11 @@
{{tenant}}
{% endfor %}
+
+ {% for tenant in notification_templates.debug_tenants %}
+ {{tenant}}
+ {% endfor %}
+
{{notification_templates.sms_templates.apply}}
@@ -962,6 +966,7 @@
{{oauth.oidc.extensions.user_info_claim_retriever}}
{{oauth.oidc.extensions.user_info_request_validator}}
{{oauth.oidc.extensions.user_info_access_token_validator}}
+ {{oauth.oidc.user_info.enable_multi_value_support}}
{% if oauth.oidc.extensions.user_info_response_builder is defined %}
{{oauth.oidc.extensions.user_info_response_builder}}
{% else %}
@@ -1909,6 +1914,7 @@
{{identity_mgt_account_suspension.use_identity_claims}}
+ {{identity_mgt_account_suspension.execute_task_on_master_node}}
@@ -2048,6 +2054,13 @@
{{application_mgt.trusted_app_max_thumbprint_count}}
+
+
+ {% if role_mgt.allow_system_prefix_for_role is defined %}
+ {{role_mgt.allow_system_prefix_for_role}}
+ {% endif %}
+
+
{% if outbound_provisioning_management.reset_provisioning_entities_on_config_update is defined %}
{{event.default_listener.governance_identity_store.enable_hybrid_data_store}}
+
internal_action_mgt_view
+
+ /permission/admin/manage/custom_authenticator/create
+ internal_custom_authenticator_create
+
+
+ /permission/admin/manage/custom_authenticator/update
+ internal_custom_authenticator_update
+
+
+ /permission/admin/manage/custom_authenticator/delete
+ internal_custom_authenticator_delete
+
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/org.wso2.carbon.identity.core.server.feature.default.json b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/org.wso2.carbon.identity.core.server.feature.default.json
index b7afb2dd8c83..199e02614d84 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/org.wso2.carbon.identity.core.server.feature.default.json
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/org.wso2.carbon.identity.core.server.feature.default.json
@@ -10,6 +10,7 @@
"identity.data_source": "jdbc/WSO2IdentityDB",
"identity_data_source.skip_db_schema_creation": false,
"identity_data_source.skip_claim_metadata_persistence": true,
+ "data_storage_type.notification_templates": "database",
"database.identity_db.pool_options.maxActive": "50",
"database.identity_db.pool_options.maxWait": "60000",
"database.identity_db.pool_options.testOnBorrow": "true",
@@ -250,6 +251,7 @@
"oauth.oidc.extensions.user_info_claim_retriever": "org.wso2.carbon.identity.oauth.endpoint.user.impl.UserInfoUserStoreClaimRetriever",
"oauth.oidc.extensions.user_info_request_validator": "org.wso2.carbon.identity.oauth.endpoint.user.impl.UserInforRequestDefaultValidator",
"oauth.oidc.extensions.user_info_access_token_validator": "org.wso2.carbon.identity.oauth.endpoint.user.impl.UserInfoISAccessTokenValidator",
+ "oauth.oidc.user_info.enable_multi_value_support": true,
"oauth.oidc.request_object_builder.request_param_value_builder.enabled": true,
"oauth.oidc.request_object_builder.request_param_value_builder.class": "org.wso2.carbon.identity.openidconnect.RequestParamRequestObjectBuilder",
@@ -494,7 +496,7 @@
"identity_mgt.user_claim_update.uniqueness.enable": false,
"identity_mgt.user_claim_update.uniqueness.listener_priority": "2",
"identity_mgt.user_claim_update.uniqueness.scope_within_userstore": false,
- "identity_mgt.user_claim_update.enable_multiple_emails_and_mobile_numbers": false,
+ "identity_mgt.user_claim_update.enable_multiple_emails_and_mobile_numbers": true,
"event.default_listener.system_api_resource_management_listener.priority": "211",
"event.default_listener.system_api_resource_management_listener.enable": true,
@@ -503,6 +505,7 @@
"event.default_listener.system_api_authorization_management_listener.enable": true,
"identity_mgt_account_suspension.use_identity_claims": true,
+ "identity_mgt_account_suspension.execute_task_on_master_node": false,
"identity_mgt.enable_user_claim_input_regex_validation": true,
@@ -550,6 +553,8 @@
"event.default_listener.governance_identity_store.enable": true,
"event.default_listener.governance_identity_store.data_store": "org.wso2.carbon.identity.governance.store.JDBCIdentityDataStore",
"event.default_listener.governance_identity_store.enable_hybrid_data_store": false,
+ "event.default_listener.password_expiry.priority": "102",
+ "event.default_listener.password_expiry.enable": true,
"event.default_listener.application_authentication.priority": "11",
"event.default_listener.application_authentication.enable": true,
"event.default_listener.mutual_tls_authenticator.priority": "919",
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml
index 92659d558bfc..597d718ac883 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml
@@ -326,6 +326,9 @@
/permission/admin/manage/identity/rolemgt/view
internal_org_role_mgt_view
+
+ internal_org_role_mgt_create
+
/permission/admin/manage/identity/rolemgt/update
internal_org_role_mgt_update
@@ -334,6 +337,9 @@
/permission/admin/manage/identity/rolemgt/update
internal_org_role_mgt_update
+
+ internal_org_role_mgt_delete
+
@@ -1207,6 +1213,17 @@
internal_rule_metadata_view
+
+
+ internal_custom_authenticator_create
+
+
+ internal_custom_authenticator_update
+
+
+ internal_custom_authenticator_delete
+
+
diff --git a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml.j2 b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml.j2
index cb0764b2f945..7c16366ce52b 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml.j2
+++ b/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/resource-access-control-v2.xml.j2
@@ -350,6 +350,9 @@
/permission/admin/manage/identity/rolemgt/view
internal_org_role_mgt_view
+
+ internal_org_role_mgt_create
+
/permission/admin/manage/identity/rolemgt/update
internal_org_role_mgt_update
@@ -358,6 +361,9 @@
/permission/admin/manage/identity/rolemgt/update
internal_org_role_mgt_update
+
+ internal_org_role_mgt_delete
+
@@ -1271,6 +1277,17 @@
internal_rule_metadata_view
+
+
+ internal_custom_authenticator_create
+
+
+ internal_custom_authenticator_update
+
+
+ internal_custom_authenticator_delete
+
+
diff --git a/features/identity-core/org.wso2.carbon.identity.core.ui.feature/pom.xml b/features/identity-core/org.wso2.carbon.identity.core.ui.feature/pom.xml
index 0ce1be0ff1af..32b4788419b8 100644
--- a/features/identity-core/org.wso2.carbon.identity.core.ui.feature/pom.xml
+++ b/features/identity-core/org.wso2.carbon.identity.core.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-core-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-core/pom.xml b/features/identity-core/pom.xml
index eff2d12c66f4..fa86ae95ffee 100644
--- a/features/identity-core/pom.xml
+++ b/features/identity-core/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/identity-event/org.wso2.carbon.identity.event.feature/pom.xml b/features/identity-event/org.wso2.carbon.identity.event.feature/pom.xml
index d8b0624085ad..4b8cddf1cb67 100644
--- a/features/identity-event/org.wso2.carbon.identity.event.feature/pom.xml
+++ b/features/identity-event/org.wso2.carbon.identity.event.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-event-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-event/org.wso2.carbon.identity.event.server.feature/pom.xml b/features/identity-event/org.wso2.carbon.identity.event.server.feature/pom.xml
index 420ce5ee091e..2799c506e6b6 100644
--- a/features/identity-event/org.wso2.carbon.identity.event.server.feature/pom.xml
+++ b/features/identity-event/org.wso2.carbon.identity.event.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-event-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-event/pom.xml b/features/identity-event/pom.xml
index c995d5d11cc2..ec4699aa6907 100644
--- a/features/identity-event/pom.xml
+++ b/features/identity-event/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/identity-mgt/org.wso2.carbon.identity.mgt.feature/pom.xml b/features/identity-mgt/org.wso2.carbon.identity.mgt.feature/pom.xml
index 067d668b50be..030cd3e0698e 100644
--- a/features/identity-mgt/org.wso2.carbon.identity.mgt.feature/pom.xml
+++ b/features/identity-mgt/org.wso2.carbon.identity.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-mgt/org.wso2.carbon.identity.mgt.server.feature/pom.xml b/features/identity-mgt/org.wso2.carbon.identity.mgt.server.feature/pom.xml
index 532a7dee362c..bb5922c5a299 100644
--- a/features/identity-mgt/org.wso2.carbon.identity.mgt.server.feature/pom.xml
+++ b/features/identity-mgt/org.wso2.carbon.identity.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-mgt/org.wso2.carbon.identity.mgt.ui.feature/pom.xml b/features/identity-mgt/org.wso2.carbon.identity.mgt.ui.feature/pom.xml
index eb8f73efde15..e4b597a659a7 100644
--- a/features/identity-mgt/org.wso2.carbon.identity.mgt.ui.feature/pom.xml
+++ b/features/identity-mgt/org.wso2.carbon.identity.mgt.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/identity-mgt/pom.xml b/features/identity-mgt/pom.xml
index 976b3baa4cdc..bfcae29cb873 100644
--- a/features/identity-mgt/pom.xml
+++ b/features/identity-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/idp-mgt/org.wso2.carbon.idp.mgt.feature/pom.xml b/features/idp-mgt/org.wso2.carbon.idp.mgt.feature/pom.xml
index c7c7ff1d2fb9..11bd4b4fa4bf 100644
--- a/features/idp-mgt/org.wso2.carbon.idp.mgt.feature/pom.xml
+++ b/features/idp-mgt/org.wso2.carbon.idp.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-provider-management-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/idp-mgt/org.wso2.carbon.idp.mgt.server.feature/pom.xml b/features/idp-mgt/org.wso2.carbon.idp.mgt.server.feature/pom.xml
index 5b34bb2cad58..3f5598e06d58 100644
--- a/features/idp-mgt/org.wso2.carbon.idp.mgt.server.feature/pom.xml
+++ b/features/idp-mgt/org.wso2.carbon.idp.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-provider-management-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/idp-mgt/org.wso2.carbon.idp.mgt.ui.feature/pom.xml b/features/idp-mgt/org.wso2.carbon.idp.mgt.ui.feature/pom.xml
index a96554f120fd..a2ecc061a5e7 100644
--- a/features/idp-mgt/org.wso2.carbon.idp.mgt.ui.feature/pom.xml
+++ b/features/idp-mgt/org.wso2.carbon.idp.mgt.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-provider-management-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/idp-mgt/pom.xml b/features/idp-mgt/pom.xml
index 9849925e57e1..70bb80f4993c 100644
--- a/features/idp-mgt/pom.xml
+++ b/features/idp-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/input-validation-mgt/org.wso2.carbon.identity.input.validation.mgt.server.feature/pom.xml b/features/input-validation-mgt/org.wso2.carbon.identity.input.validation.mgt.server.feature/pom.xml
index a6563189c760..b2284b3af1f2 100644
--- a/features/input-validation-mgt/org.wso2.carbon.identity.input.validation.mgt.server.feature/pom.xml
+++ b/features/input-validation-mgt/org.wso2.carbon.identity.input.validation.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
input-validation-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/input-validation-mgt/pom.xml b/features/input-validation-mgt/pom.xml
index 03b83a59f196..437341286f6a 100644
--- a/features/input-validation-mgt/pom.xml
+++ b/features/input-validation-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/features/multi-attribute-login/org.wso2.carbon.identity.multi.attribute.login.mgt.server.feature/pom.xml b/features/multi-attribute-login/org.wso2.carbon.identity.multi.attribute.login.mgt.server.feature/pom.xml
index e60da77e5e8a..d6450780696b 100644
--- a/features/multi-attribute-login/org.wso2.carbon.identity.multi.attribute.login.mgt.server.feature/pom.xml
+++ b/features/multi-attribute-login/org.wso2.carbon.identity.multi.attribute.login.mgt.server.feature/pom.xml
@@ -20,7 +20,7 @@
multi-attribute-login-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/multi-attribute-login/org.wso2.carbon.identity.unique.claim.mgt.server.feature/pom.xml b/features/multi-attribute-login/org.wso2.carbon.identity.unique.claim.mgt.server.feature/pom.xml
index 29bed36db307..c71e22a3d809 100644
--- a/features/multi-attribute-login/org.wso2.carbon.identity.unique.claim.mgt.server.feature/pom.xml
+++ b/features/multi-attribute-login/org.wso2.carbon.identity.unique.claim.mgt.server.feature/pom.xml
@@ -20,7 +20,7 @@
multi-attribute-login-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/multi-attribute-login/pom.xml b/features/multi-attribute-login/pom.xml
index b644bec2addc..65f7263adb13 100644
--- a/features/multi-attribute-login/pom.xml
+++ b/features/multi-attribute-login/pom.xml
@@ -20,7 +20,7 @@
identity-framework
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.feature/pom.xml b/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.feature/pom.xml
index 509d45fcb4c0..571d00112343 100644
--- a/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.feature/pom.xml
+++ b/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-notification-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.server.feature/pom.xml b/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.server.feature/pom.xml
index f7d65373a500..93c80427fdbd 100644
--- a/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.server.feature/pom.xml
+++ b/features/notification-mgt/org.wso2.carbon.identity.notification.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-notification-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/notification-mgt/pom.xml b/features/notification-mgt/pom.xml
index 0756ddca8f2c..6fe03eb1b094 100644
--- a/features/notification-mgt/pom.xml
+++ b/features/notification-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/provisioning/org.wso2.carbon.identity.provisioning.server.feature/pom.xml b/features/provisioning/org.wso2.carbon.identity.provisioning.server.feature/pom.xml
index ae125c9a0a02..94aa1409e5f9 100644
--- a/features/provisioning/org.wso2.carbon.identity.provisioning.server.feature/pom.xml
+++ b/features/provisioning/org.wso2.carbon.identity.provisioning.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
provisioning-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/provisioning/pom.xml b/features/provisioning/pom.xml
index cfaf924e526a..85cc6c3874f8 100644
--- a/features/provisioning/pom.xml
+++ b/features/provisioning/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/role-mgt/org.wso2.carbon.identity.role.mgt.core.server.feature/pom.xml b/features/role-mgt/org.wso2.carbon.identity.role.mgt.core.server.feature/pom.xml
index 27d45e5385ac..e0418a48780c 100644
--- a/features/role-mgt/org.wso2.carbon.identity.role.mgt.core.server.feature/pom.xml
+++ b/features/role-mgt/org.wso2.carbon.identity.role.mgt.core.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
role-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/role-mgt/org.wso2.carbon.identity.role.v2.mgt.core.server.feature/pom.xml b/features/role-mgt/org.wso2.carbon.identity.role.v2.mgt.core.server.feature/pom.xml
index af9b13cab2b1..d5bcea0a7eba 100644
--- a/features/role-mgt/org.wso2.carbon.identity.role.v2.mgt.core.server.feature/pom.xml
+++ b/features/role-mgt/org.wso2.carbon.identity.role.v2.mgt.core.server.feature/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
role-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/role-mgt/pom.xml b/features/role-mgt/pom.xml
index 32bfca83e2dd..6b5ef036dbd8 100644
--- a/features/role-mgt/pom.xml
+++ b/features/role-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/features/rule-mgt/org.wso2.carbon.identity.rule.management.server.feature/pom.xml b/features/rule-mgt/org.wso2.carbon.identity.rule.management.server.feature/pom.xml
index 974d688e1cf1..a96dab522e0e 100644
--- a/features/rule-mgt/org.wso2.carbon.identity.rule.management.server.feature/pom.xml
+++ b/features/rule-mgt/org.wso2.carbon.identity.rule.management.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
rule-management-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/rule-mgt/pom.xml b/features/rule-mgt/pom.xml
index e2195ed97bcc..7e9fccfebe27 100644
--- a/features/rule-mgt/pom.xml
+++ b/features/rule-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/secret-mgt/org.wso2.carbon.identity.secret.mgt.core.server.feature/pom.xml b/features/secret-mgt/org.wso2.carbon.identity.secret.mgt.core.server.feature/pom.xml
index 9a506693bc5c..3ff64cfc49f6 100644
--- a/features/secret-mgt/org.wso2.carbon.identity.secret.mgt.core.server.feature/pom.xml
+++ b/features/secret-mgt/org.wso2.carbon.identity.secret.mgt.core.server.feature/pom.xml
@@ -19,7 +19,7 @@
org.wso2.carbon.identity.framework
secret-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
4.0.0
diff --git a/features/secret-mgt/pom.xml b/features/secret-mgt/pom.xml
index 86596dd72c27..4bab5285d458 100644
--- a/features/secret-mgt/pom.xml
+++ b/features/secret-mgt/pom.xml
@@ -19,7 +19,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/security-mgt/org.wso2.carbon.security.mgt.feature/pom.xml b/features/security-mgt/org.wso2.carbon.security.mgt.feature/pom.xml
index 071d099b88c7..b02e90ccc0a3 100644
--- a/features/security-mgt/org.wso2.carbon.security.mgt.feature/pom.xml
+++ b/features/security-mgt/org.wso2.carbon.security.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
security-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/security-mgt/org.wso2.carbon.security.mgt.server.feature/pom.xml b/features/security-mgt/org.wso2.carbon.security.mgt.server.feature/pom.xml
index 424d34389998..7516bb1bf999 100644
--- a/features/security-mgt/org.wso2.carbon.security.mgt.server.feature/pom.xml
+++ b/features/security-mgt/org.wso2.carbon.security.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
security-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/security-mgt/org.wso2.carbon.security.mgt.ui.feature/pom.xml b/features/security-mgt/org.wso2.carbon.security.mgt.ui.feature/pom.xml
index e63ab325efb2..913538db356c 100644
--- a/features/security-mgt/org.wso2.carbon.security.mgt.ui.feature/pom.xml
+++ b/features/security-mgt/org.wso2.carbon.security.mgt.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
security-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/security-mgt/pom.xml b/features/security-mgt/pom.xml
index bdf0e8b32142..dd75f90514c3 100644
--- a/features/security-mgt/pom.xml
+++ b/features/security-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/template-mgt/org.wso2.carbon.identity.template.mgt.feature/pom.xml b/features/template-mgt/org.wso2.carbon.identity.template.mgt.feature/pom.xml
index 4fdddaab54db..de0c2be900bc 100644
--- a/features/template-mgt/org.wso2.carbon.identity.template.mgt.feature/pom.xml
+++ b/features/template-mgt/org.wso2.carbon.identity.template.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
template-management-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/template-mgt/org.wso2.carbon.identity.template.mgt.server.feature/pom.xml b/features/template-mgt/org.wso2.carbon.identity.template.mgt.server.feature/pom.xml
index b1f17b58ad67..1bb0d9e51754 100644
--- a/features/template-mgt/org.wso2.carbon.identity.template.mgt.server.feature/pom.xml
+++ b/features/template-mgt/org.wso2.carbon.identity.template.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
template-management-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/template-mgt/org.wso2.carbon.identity.template.mgt.ui.feature/pom.xml b/features/template-mgt/org.wso2.carbon.identity.template.mgt.ui.feature/pom.xml
index f54b851ab982..94cab1e7215e 100644
--- a/features/template-mgt/org.wso2.carbon.identity.template.mgt.ui.feature/pom.xml
+++ b/features/template-mgt/org.wso2.carbon.identity.template.mgt.ui.feature/pom.xml
@@ -21,7 +21,7 @@
template-management-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/template-mgt/pom.xml b/features/template-mgt/pom.xml
index eeb93a86ce72..338486da6ede 100644
--- a/features/template-mgt/pom.xml
+++ b/features/template-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt.server.feature/pom.xml b/features/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt.server.feature/pom.xml
index d16fe0ef4a1e..c9c8894b9133 100644
--- a/features/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt.server.feature/pom.xml
+++ b/features/trusted-app-mgt/org.wso2.carbon.identity.trusted.app.mgt.server.feature/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
trusted-app-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/trusted-app-mgt/pom.xml b/features/trusted-app-mgt/pom.xml
index d478eac2f01b..971065ce976d 100644
--- a/features/trusted-app-mgt/pom.xml
+++ b/features/trusted-app-mgt/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.feature/pom.xml b/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.feature/pom.xml
index 14a1bdc4ef5f..d9d24bcc0d2a 100644
--- a/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.feature/pom.xml
+++ b/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.feature/pom.xml
@@ -21,7 +21,7 @@
user-functionality-mgt-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.server.feature/pom.xml b/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.server.feature/pom.xml
index d1bcde000fb0..fe15a1418397 100644
--- a/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.server.feature/pom.xml
+++ b/features/user-functionality-mgt/org.wso2.carbon.identity.user.functionality.mgt.server.feature/pom.xml
@@ -21,7 +21,7 @@
user-functionality-mgt-feature
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
4.0.0
diff --git a/features/user-functionality-mgt/pom.xml b/features/user-functionality-mgt/pom.xml
index 3757c0931069..ce8723e7dc4e 100644
--- a/features/user-functionality-mgt/pom.xml
+++ b/features/user-functionality-mgt/pom.xml
@@ -21,7 +21,7 @@
identity-framework
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/features/user-mgt/org.wso2.carbon.identity.user.profile.feature/pom.xml b/features/user-mgt/org.wso2.carbon.identity.user.profile.feature/pom.xml
index 4f77bd5ac33c..320727888446 100644
--- a/features/user-mgt/org.wso2.carbon.identity.user.profile.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.identity.user.profile.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.identity.user.profile.server.feature/pom.xml b/features/user-mgt/org.wso2.carbon.identity.user.profile.server.feature/pom.xml
index e9f05a793d40..044cfa39b249 100644
--- a/features/user-mgt/org.wso2.carbon.identity.user.profile.server.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.identity.user.profile.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.identity.user.profile.ui.feature/pom.xml b/features/user-mgt/org.wso2.carbon.identity.user.profile.ui.feature/pom.xml
index 406f2002500b..a156f5b50ade 100644
--- a/features/user-mgt/org.wso2.carbon.identity.user.profile.ui.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.identity.user.profile.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.identity.user.registration.feature/pom.xml b/features/user-mgt/org.wso2.carbon.identity.user.registration.feature/pom.xml
index 6efba3d056f4..c6752afb03d7 100644
--- a/features/user-mgt/org.wso2.carbon.identity.user.registration.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.identity.user.registration.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.identity.user.registration.server.feature/pom.xml b/features/user-mgt/org.wso2.carbon.identity.user.registration.server.feature/pom.xml
index 2f4e026edb4f..9caac24b27cd 100644
--- a/features/user-mgt/org.wso2.carbon.identity.user.registration.server.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.identity.user.registration.server.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.identity.user.registration.ui.feature/pom.xml b/features/user-mgt/org.wso2.carbon.identity.user.registration.ui.feature/pom.xml
index d289ae39b472..3a7b00abc094 100644
--- a/features/user-mgt/org.wso2.carbon.identity.user.registration.ui.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.identity.user.registration.ui.feature/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.role.mgt.ui.feature/pom.xml b/features/user-mgt/org.wso2.carbon.role.mgt.ui.feature/pom.xml
index 3e5f2c7e4cbe..444c36f861c8 100644
--- a/features/user-mgt/org.wso2.carbon.role.mgt.ui.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.role.mgt.ui.feature/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.user.mgt.feature/pom.xml b/features/user-mgt/org.wso2.carbon.user.mgt.feature/pom.xml
index 5f3cf374e293..94279440bc29 100644
--- a/features/user-mgt/org.wso2.carbon.user.mgt.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.user.mgt.feature/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.user.mgt.server.feature/pom.xml b/features/user-mgt/org.wso2.carbon.user.mgt.server.feature/pom.xml
index 0e51ed55be25..1453eb42f2b5 100644
--- a/features/user-mgt/org.wso2.carbon.user.mgt.server.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.user.mgt.server.feature/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/org.wso2.carbon.user.mgt.ui.feature/pom.xml b/features/user-mgt/org.wso2.carbon.user.mgt.ui.feature/pom.xml
index 2452ea476f23..2f553a0db705 100644
--- a/features/user-mgt/org.wso2.carbon.user.mgt.ui.feature/pom.xml
+++ b/features/user-mgt/org.wso2.carbon.user.mgt.ui.feature/pom.xml
@@ -20,7 +20,7 @@
org.wso2.carbon.identity.framework
user-mgt-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-mgt/pom.xml b/features/user-mgt/pom.xml
index 2d5cc20926f8..a55f546efef0 100644
--- a/features/user-mgt/pom.xml
+++ b/features/user-mgt/pom.xml
@@ -17,7 +17,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/features/user-store/org.wso2.carbon.identity.user.store.configuration.server.feature/pom.xml b/features/user-store/org.wso2.carbon.identity.user.store.configuration.server.feature/pom.xml
index 991a768ceaea..857b23601831 100644
--- a/features/user-store/org.wso2.carbon.identity.user.store.configuration.server.feature/pom.xml
+++ b/features/user-store/org.wso2.carbon.identity.user.store.configuration.server.feature/pom.xml
@@ -23,7 +23,7 @@
org.wso2.carbon.identity.framework
user-store-feature
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/features/user-store/pom.xml b/features/user-store/pom.xml
index c2be9f5c7cde..fca007486dd4 100644
--- a/features/user-store/pom.xml
+++ b/features/user-store/pom.xml
@@ -23,7 +23,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/pom.xml b/pom.xml
index 7dc6a2050855..4f40dc75894b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.identity.framework
identity-framework
pom
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
WSO2 Carbon - Platform Aggregator Pom
http://wso2.org
@@ -335,6 +335,11 @@
org.wso2.carbon.identity.rule.metadata
${project.version}
+
+ org.wso2.carbon.identity.framework
+ org.wso2.carbon.identity.rule.management
+ ${project.version}
+
org.wso2.carbon.identity.framework
@@ -922,6 +927,17 @@
${version.javax.servlet}
+
+ org.wso2.orbit.org.bouncycastle
+ bcprov-jdk18on
+ ${bcprov-jdk18.version}
+
+
+ org.wso2.orbit.org.bouncycastle
+ bcpkix-jdk18on
+ ${bcpkix-jdk18.version}
+
+
org.opensaml
@@ -1832,7 +1848,7 @@
4.7.39
[4.7.2, 5.0.0)
- 2.1.7
+ 2.2.2
[2.0.0,3.0.0)
@@ -1840,6 +1856,7 @@
${project.version}
[5.14.0, 8.0.0)
+ [0.0.0,2.0.0)
1.0.90
[1.0.0, 2.0.0)
@@ -1950,6 +1967,9 @@
1.4.1
[1.4.0,1.5.0)
+ 1.78.1.wso2v1
+ 1.78.1.wso2v1
+
1.8.0
3.2.2.wso2v1
diff --git a/service-stubs/identity/org.wso2.carbon.claim.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.claim.mgt.stub/pom.xml
index 8b07ba2f6564..8e23c8573b22 100644
--- a/service-stubs/identity/org.wso2.carbon.claim.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.claim.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.directory.server.manager.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.directory.server.manager.stub/pom.xml
index 7459f9ae05de..42cb60ba051d 100644
--- a/service-stubs/identity/org.wso2.carbon.directory.server.manager.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.directory.server.manager.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.application.authentication.framework.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.application.authentication.framework.stub/pom.xml
index c3416bc7d451..fc523dfc596a 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.application.authentication.framework.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.application.authentication.framework.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
4.0.0
diff --git a/service-stubs/identity/org.wso2.carbon.identity.application.default.authentication.sequence.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.application.default.authentication.sequence.mgt.stub/pom.xml
index 35ceefbbea14..05451f8d2df3 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.application.default.authentication.sequence.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.application.default.authentication.sequence.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.application.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.application.mgt.stub/pom.xml
index efa6c1334699..2369fc8b1167 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.application.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.application.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.claim.metadata.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.claim.metadata.mgt.stub/pom.xml
index 097f5c7985fc..d51e35f42d91 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.claim.metadata.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.claim.metadata.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.functions.library.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.functions.library.mgt.stub/pom.xml
index 83d8ba07d69c..52e4fb7f6232 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.functions.library.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.functions.library.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
carbon-service-stubs
org.wso2.carbon.identity.framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
4.0.0
diff --git a/service-stubs/identity/org.wso2.carbon.identity.governance.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.governance.stub/pom.xml
index 5e5376516273..c350609c4e49 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.governance.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.governance.stub/pom.xml
@@ -18,7 +18,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.mgt.stub/pom.xml
index f3f119167f26..802b848dd42d 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.user.profile.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.user.profile.stub/pom.xml
index aa196705fa1e..05326863528b 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.user.profile.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.user.profile.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.user.registration.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.user.registration.stub/pom.xml
index 8eaf0933a6a6..bb2c82a23683 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.user.registration.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.user.registration.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.user.store.configuration.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.user.store.configuration.stub/pom.xml
index 997ee3c4bdda..6b1ba4db31d7 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.user.store.configuration.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.user.store.configuration.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.identity.user.store.count.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.identity.user.store.count.stub/pom.xml
index 6f8f10eeeb85..013de4241d43 100644
--- a/service-stubs/identity/org.wso2.carbon.identity.user.store.count.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.identity.user.store.count.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.idp.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.idp.mgt.stub/pom.xml
index 36e6a2f4cec6..6dbf1ab8e855 100644
--- a/service-stubs/identity/org.wso2.carbon.idp.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.idp.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.security.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.security.mgt.stub/pom.xml
index 6737da0c4b9a..5b53288d0c24 100644
--- a/service-stubs/identity/org.wso2.carbon.security.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.security.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/org.wso2.carbon.user.mgt.stub/pom.xml b/service-stubs/identity/org.wso2.carbon.user.mgt.stub/pom.xml
index 47dec62a35cf..c9715a064645 100644
--- a/service-stubs/identity/org.wso2.carbon.user.mgt.stub/pom.xml
+++ b/service-stubs/identity/org.wso2.carbon.user.mgt.stub/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
carbon-service-stubs
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../pom.xml
diff --git a/service-stubs/identity/pom.xml b/service-stubs/identity/pom.xml
index 33a701c18436..7117e0e7c919 100644
--- a/service-stubs/identity/pom.xml
+++ b/service-stubs/identity/pom.xml
@@ -21,7 +21,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml
diff --git a/test-utils/org.wso2.carbon.identity.testutil/pom.xml b/test-utils/org.wso2.carbon.identity.testutil/pom.xml
index 7e80a97443c7..e028ed0da4e8 100644
--- a/test-utils/org.wso2.carbon.identity.testutil/pom.xml
+++ b/test-utils/org.wso2.carbon.identity.testutil/pom.xml
@@ -18,7 +18,7 @@
org.wso2.carbon.identity.framework
identity-framework
- 7.7.28-SNAPSHOT
+ 7.7.51-SNAPSHOT
../../pom.xml