Skip to content

Commit a155e7e

Browse files
authored
Merge pull request #13554 from msm1992/master
Fix issue when registering a KM for 'Other' KM type
2 parents a16b47c + 737ba31 commit a155e7e

1 file changed

Lines changed: 23 additions & 16 deletions

File tree

  • components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl

components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/APIAdminImpl.java

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1742,23 +1742,30 @@ private String getEncryptedValue(String value) {
17421742
private void maskValues(KeyManagerConfigurationDTO keyManagerConfigurationDTO) {
17431743
KeyManagerConnectorConfiguration keyManagerConnectorConfiguration = ServiceReferenceHolder.getInstance()
17441744
.getKeyManagerConnectorConfiguration(keyManagerConfigurationDTO.getType());
1745-
1746-
Map<String, Object> additionalProperties = keyManagerConfigurationDTO.getAdditionalProperties();
1747-
List<ConfigurationDto> connectionConfigurations =
1748-
keyManagerConnectorConfiguration.getConnectionConfigurations();
1749-
for (ConfigurationDto connectionConfiguration : connectionConfigurations) {
1750-
if (connectionConfiguration.isMask()) {
1751-
additionalProperties.replace(connectionConfiguration.getName(),
1752-
APIConstants.DEFAULT_MODIFIED_ENDPOINT_PASSWORD);
1745+
// When the KM is used for Token Exchange,there won't be any connection configurations to mask.
1746+
if (keyManagerConnectorConfiguration != null) {
1747+
Map<String, Object> additionalProperties = keyManagerConfigurationDTO.getAdditionalProperties();
1748+
List<ConfigurationDto> connectionConfigurations =
1749+
keyManagerConnectorConfiguration.getConnectionConfigurations();
1750+
if (connectionConfigurations != null && !connectionConfigurations.isEmpty()) {
1751+
for (ConfigurationDto connectionConfiguration : connectionConfigurations) {
1752+
if (connectionConfiguration.isMask()) {
1753+
additionalProperties.replace(connectionConfiguration.getName(),
1754+
APIConstants.DEFAULT_MODIFIED_ENDPOINT_PASSWORD);
1755+
}
1756+
}
17531757
}
1754-
}
1755-
// if authConfiguration array is not empty, check for maskable values there as well
1756-
if (keyManagerConnectorConfiguration.getAuthConfigurations() != null
1757-
&& !(keyManagerConnectorConfiguration.getAuthConfigurations().isEmpty())) {
1758-
List<ConfigurationDto> authConfigurations = keyManagerConnectorConfiguration.getAuthConfigurations();
1759-
// Recursively check nested objects in authConfigurations and apply masking
1760-
for (ConfigurationDto authConfiguration : authConfigurations) {
1761-
applyMaskToNestedFields(authConfiguration.getValues(), additionalProperties);
1758+
1759+
// if authConfiguration array is not empty, check for maskable values there as well
1760+
if (keyManagerConnectorConfiguration.getAuthConfigurations() != null
1761+
&& !(keyManagerConnectorConfiguration.getAuthConfigurations().isEmpty())) {
1762+
List<ConfigurationDto> authConfigurations = keyManagerConnectorConfiguration.getAuthConfigurations();
1763+
if (authConfigurations != null && !authConfigurations.isEmpty()) {
1764+
// Recursively check nested objects in authConfigurations and apply masking
1765+
for (ConfigurationDto authConfiguration : authConfigurations) {
1766+
applyMaskToNestedFields(authConfiguration.getValues(), additionalProperties);
1767+
}
1768+
}
17621769
}
17631770
}
17641771
}

0 commit comments

Comments
 (0)