package validator import ( "errors" "fmt" "github.com/authelia/authelia/internal/configuration/schema" "github.com/authelia/authelia/internal/utils" ) // ValidateKeys determines if a provided key is valid. func ValidateKeys(validator *schema.StructValidator, keys []string) { var errStrings []string for _, key := range keys { if utils.IsStringInSlice(key, validKeys) { continue } if isSecretKey(key) { continue } if newKey, ok := replacedKeys[key]; ok { validator.Push(fmt.Errorf(errFmtReplacedConfigurationKey, key, newKey)) continue } if err, ok := specificErrorKeys[key]; ok { if !utils.IsStringInSlice(err, errStrings) { errStrings = append(errStrings, err) } } else { validator.Push(fmt.Errorf("config key not expected: %s", key)) } } for _, err := range errStrings { validator.Push(errors.New(err)) } }