Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1742,23 +1742,30 @@ private String getEncryptedValue(String value) {
private void maskValues(KeyManagerConfigurationDTO keyManagerConfigurationDTO) {
KeyManagerConnectorConfiguration keyManagerConnectorConfiguration = ServiceReferenceHolder.getInstance()
.getKeyManagerConnectorConfiguration(keyManagerConfigurationDTO.getType());

Map<String, Object> additionalProperties = keyManagerConfigurationDTO.getAdditionalProperties();
List<ConfigurationDto> connectionConfigurations =
keyManagerConnectorConfiguration.getConnectionConfigurations();
for (ConfigurationDto connectionConfiguration : connectionConfigurations) {
if (connectionConfiguration.isMask()) {
additionalProperties.replace(connectionConfiguration.getName(),
APIConstants.DEFAULT_MODIFIED_ENDPOINT_PASSWORD);
// When the KM is used for Token Exchange,there won't be any connection configurations to mask.
if (keyManagerConnectorConfiguration != null) {
Map<String, Object> additionalProperties = keyManagerConfigurationDTO.getAdditionalProperties();
List<ConfigurationDto> connectionConfigurations =
keyManagerConnectorConfiguration.getConnectionConfigurations();
if (connectionConfigurations != null && !connectionConfigurations.isEmpty()) {
for (ConfigurationDto connectionConfiguration : connectionConfigurations) {
if (connectionConfiguration.isMask()) {
additionalProperties.replace(connectionConfiguration.getName(),
APIConstants.DEFAULT_MODIFIED_ENDPOINT_PASSWORD);
}
}
}
}
// if authConfiguration array is not empty, check for maskable values there as well
if (keyManagerConnectorConfiguration.getAuthConfigurations() != null
&& !(keyManagerConnectorConfiguration.getAuthConfigurations().isEmpty())) {
List<ConfigurationDto> authConfigurations = keyManagerConnectorConfiguration.getAuthConfigurations();
// Recursively check nested objects in authConfigurations and apply masking
for (ConfigurationDto authConfiguration : authConfigurations) {
applyMaskToNestedFields(authConfiguration.getValues(), additionalProperties);

// if authConfiguration array is not empty, check for maskable values there as well
if (keyManagerConnectorConfiguration.getAuthConfigurations() != null
&& !(keyManagerConnectorConfiguration.getAuthConfigurations().isEmpty())) {
List<ConfigurationDto> authConfigurations = keyManagerConnectorConfiguration.getAuthConfigurations();
if (authConfigurations != null && !authConfigurations.isEmpty()) {
// Recursively check nested objects in authConfigurations and apply masking
for (ConfigurationDto authConfiguration : authConfigurations) {
applyMaskToNestedFields(authConfiguration.getValues(), additionalProperties);
}
}
}
}
}
Expand Down
Loading