From 12e4a94d6348ce74e6bede13a1133e9cef05f616 Mon Sep 17 00:00:00 2001 From: Mihai Doarna Date: Tue, 28 May 2024 17:03:54 +0300 Subject: [PATCH] SSO: Use removeSecrets() instead of setting.RedactedValue() (#88180) * use removeSecrets() instead of setting.RedactedValue() * replace with redacted value only if secret is not empty --- .../ssosettings/ssosettingsimpl/service.go | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/pkg/services/ssosettings/ssosettingsimpl/service.go b/pkg/services/ssosettings/ssosettingsimpl/service.go index 1bb029821ad..073204bb3ce 100644 --- a/pkg/services/ssosettings/ssosettingsimpl/service.go +++ b/pkg/services/ssosettings/ssosettingsimpl/service.go @@ -126,11 +126,7 @@ func (s *Service) GetForProviderWithRedactedSecrets(ctx context.Context, provide return nil, err } - for k, v := range storeSettings.Settings { - if strVal, ok := v.(string); ok { - storeSettings.Settings[k] = setting.RedactedValue(k, strVal) - } - } + storeSettings.Settings = removeSecrets(storeSettings.Settings) return storeSettings, nil } @@ -177,11 +173,7 @@ func (s *Service) ListWithRedactedSecrets(ctx context.Context) ([]*models.SSOSet } for _, storeSetting := range configurableSettings { - for k, v := range storeSetting.Settings { - if strVal, ok := v.(string); ok { - storeSetting.Settings[k] = setting.RedactedValue(k, strVal) - } - } + storeSetting.Settings = removeSecrets(storeSetting.Settings) } return configurableSettings, nil @@ -449,7 +441,8 @@ func (s *Service) isProviderConfigurable(provider string) bool { func removeSecrets(settings map[string]any) map[string]any { result := make(map[string]any) for k, v := range settings { - if IsSecretField(k) { + val, ok := v.(string) + if ok && val != "" && IsSecretField(k) { result[k] = setting.RedactedPassword continue }