package configuration import ( "fmt" "github.com/knadh/koanf" "github.com/authelia/authelia/v4/internal/utils" ) func getAllKoanfKeys(ko *koanf.Koanf) (keys []string) { keys = ko.Keys() for key, value := range ko.All() { slc, ok := value.([]interface{}) if !ok { continue } for _, item := range slc { m, mok := item.(map[string]interface{}) if !mok { continue } for k := range m { full := fmt.Sprintf("%s[].%s", key, k) if !utils.IsStringInSlice(full, keys) { keys = append(keys, full) } } } } return keys }