mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2025-10-28 04:35:40 +00:00
fix: configure secrets before config validation
This commit is contained in:
16
cmd/root.go
16
cmd/root.go
@@ -28,6 +28,14 @@ var rootCmd = &cobra.Command{
|
|||||||
parseErr := viper.Unmarshal(&config)
|
parseErr := viper.Unmarshal(&config)
|
||||||
HandleError(parseErr, "Failed to parse config")
|
HandleError(parseErr, "Failed to parse config")
|
||||||
|
|
||||||
|
// Secrets
|
||||||
|
log.Info().Msg("Parsing secrets")
|
||||||
|
|
||||||
|
config.Secret = utils.GetSecret(config.Secret, config.SecretFile)
|
||||||
|
config.GithubClientSecret = utils.GetSecret(config.GithubClientSecret, config.GithubClientSecretFile)
|
||||||
|
config.GoogleClientSecret = utils.GetSecret(config.GoogleClientSecret, config.GoogleClientSecretFile)
|
||||||
|
config.GenericClientSecret = utils.GetSecret(config.GenericClientSecret, config.GenericClientSecretFile)
|
||||||
|
|
||||||
// Validate config
|
// Validate config
|
||||||
log.Info().Msg("Validating config")
|
log.Info().Msg("Validating config")
|
||||||
validator := validator.New()
|
validator := validator.New()
|
||||||
@@ -46,14 +54,6 @@ var rootCmd = &cobra.Command{
|
|||||||
log.Fatal().Err(usersErr).Msg("Failed to parse users")
|
log.Fatal().Err(usersErr).Msg("Failed to parse users")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Secrets
|
|
||||||
log.Info().Msg("Parsing secrets")
|
|
||||||
|
|
||||||
config.Secret = utils.GetSecret(config.Secret, config.SecretFile)
|
|
||||||
config.GithubClientSecret = utils.GetSecret(config.GithubClientSecret, config.GithubClientSecretFile)
|
|
||||||
config.GoogleClientSecret = utils.GetSecret(config.GoogleClientSecret, config.GoogleClientSecretFile)
|
|
||||||
config.GenericClientSecret = utils.GetSecret(config.GenericClientSecret, config.GenericClientSecretFile)
|
|
||||||
|
|
||||||
// Create oauth whitelist
|
// Create oauth whitelist
|
||||||
oauthWhitelist := strings.Split(config.OAuthWhitelist, ",")
|
oauthWhitelist := strings.Split(config.OAuthWhitelist, ",")
|
||||||
log.Debug().Strs("oauth_whitelist", oauthWhitelist).Msg("Parsed OAuth whitelist")
|
log.Debug().Strs("oauth_whitelist", oauthWhitelist).Msg("Parsed OAuth whitelist")
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ type User struct {
|
|||||||
type Users []User
|
type Users []User
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Port int `validate:"number" mapstructure:"port"`
|
Port int `mapstructure:"port"`
|
||||||
Address string `mapstructure:"address, ip4_addr"`
|
Address string `validate:"ip4_addr" mapstructure:"address"`
|
||||||
Secret string `validate:"required,len=32" mapstructure:"secret"`
|
Secret string `validate:"len=32" mapstructure:"secret"`
|
||||||
SecretFile string `mapstructure:"secret-file"`
|
SecretFile string `mapstructure:"secret-file"`
|
||||||
AppURL string `validate:"required,url" mapstructure:"app-url"`
|
AppURL string `validate:"required,url" mapstructure:"app-url"`
|
||||||
Users string `mapstructure:"users"`
|
Users string `mapstructure:"users"`
|
||||||
|
|||||||
Reference in New Issue
Block a user