fix: Mask email password (#19120)

This commit is contained in:
Siddhant 2024-12-19 10:40:49 +05:30 committed by GitHub
parent 6dc7e5c26d
commit f582998a22
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 3 deletions

View File

@ -42,6 +42,7 @@ import org.openmetadata.service.resources.settings.SettingsCache;
import org.openmetadata.service.search.SearchRepository;
import org.openmetadata.service.secrets.SecretsManager;
import org.openmetadata.service.secrets.SecretsManagerFactory;
import org.openmetadata.service.secrets.masker.PasswordEntityMasker;
import org.openmetadata.service.security.JwtFilter;
import org.openmetadata.service.security.auth.LoginAttemptCache;
import org.openmetadata.service.util.JsonUtils;
@ -108,6 +109,12 @@ public class SystemRepository {
return null;
}
if (fetchedSettings.getConfigType() == SettingsType.EMAIL_CONFIGURATION) {
SmtpSettings emailConfig = (SmtpSettings) fetchedSettings.getConfigValue();
emailConfig.setPassword(PasswordEntityMasker.PASSWORD_MASK);
fetchedSettings.setConfigValue(emailConfig);
}
return fetchedSettings;
} catch (Exception ex) {
LOG.error("Error while trying fetch Settings ", ex);

View File

@ -81,6 +81,7 @@ import org.openmetadata.service.resources.storages.ContainerResourceTest;
import org.openmetadata.service.resources.teams.TeamResourceTest;
import org.openmetadata.service.resources.teams.UserResourceTest;
import org.openmetadata.service.resources.topics.TopicResourceTest;
import org.openmetadata.service.secrets.masker.PasswordEntityMasker;
import org.openmetadata.service.util.JsonUtils;
import org.openmetadata.service.util.TestUtils;
@ -190,10 +191,10 @@ public class SystemResourceTest extends OpenMetadataApplicationTest {
// Test Email Config
Settings emailSettings = getSystemConfig(SettingsType.EMAIL_CONFIGURATION);
SmtpSettings smtp = JsonUtils.convertValue(emailSettings.getConfigValue(), SmtpSettings.class);
// Password for Email is encrypted using fernet
// Password for Email is always sent in hidden
SmtpSettings expected = config.getSmtpSettings();
expected.setPassword(smtp.getPassword());
assertEquals(config.getSmtpSettings(), smtp);
expected.setPassword(PasswordEntityMasker.PASSWORD_MASK);
assertEquals(expected, smtp);
// Test Custom Ui Theme Preference Config
Settings uiThemeConfigWrapped = getSystemConfig(SettingsType.CUSTOM_UI_THEME_PREFERENCE);