diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go index f8de26f..87d1f8d 100644 --- a/internal/handlers/handlers.go +++ b/internal/handlers/handlers.go @@ -154,9 +154,9 @@ func (h *Handlers) AuthHandler(c *gin.Context) { log.Debug().Str("key", key).Msg("Setting header") c.Header(key, value) } - if labels.Basic.Username != "" && labels.Basic.Password != "" { + if labels.Basic.Username != "" && utils.GetSecret(labels.Basic.Password.Plain, labels.Basic.Password.File) != "" { log.Debug().Str("username", labels.Basic.Username).Msg("Setting basic auth headers") - c.Header("Authorization", fmt.Sprintf("Basic %s", utils.GetBasicAuth(labels.Basic.Username, labels.Basic.Password))) + c.Header("Authorization", fmt.Sprintf("Basic %s", utils.GetBasicAuth(labels.Basic.Username, utils.GetSecret(labels.Basic.Password.Plain, labels.Basic.Password.File)))) } c.JSON(200, gin.H{ "status": 200, @@ -283,9 +283,9 @@ func (h *Handlers) AuthHandler(c *gin.Context) { } // Set basic auth headers if configured - if labels.Basic.Username != "" && labels.Basic.Password != "" { + if labels.Basic.Username != "" && utils.GetSecret(labels.Basic.Password.Plain, labels.Basic.Password.File) != "" { log.Debug().Str("username", labels.Basic.Username).Msg("Setting basic auth headers") - c.Header("Authorization", fmt.Sprintf("Basic %s", utils.GetBasicAuth(labels.Basic.Username, labels.Basic.Password))) + c.Header("Authorization", fmt.Sprintf("Basic %s", utils.GetBasicAuth(labels.Basic.Username, utils.GetSecret(labels.Basic.Password.Plain, labels.Basic.Password.File)))) } // The user is allowed to access the app diff --git a/internal/types/config.go b/internal/types/config.go index 8e2e202..83dc8bb 100644 --- a/internal/types/config.go +++ b/internal/types/config.go @@ -109,7 +109,13 @@ type OAuthLabels struct { // Basic auth labels for a tinyauth protected container type BasicLabels struct { Username string - Password string + Password PassowrdLabels +} + +// PassowrdLabels is a struct that contains the password labels for a tinyauth protected container +type PassowrdLabels struct { + Plain string + File string } // IP labels for a tinyauth protected container