package config

type AuthMap map[string]*Auth

type Auth struct {
	Paths  Paths  `mapstructure:"paths"`
	OpenID OpenID `mapstructure:"open_id"`
}

type Paths struct {
	Prefix   string `mapstructure:"prefix"`
	Login    string `mapstructure:"login"`
	Logout   string `mapstructure:"logout"`
	Callback string `mapstructure:"callback"`
}

type OpenID struct {
	Host                  string `mapstructure:"host"`
	Realm                 string `mapstructure:"realm"`
	ClientID              string `mapstructure:"client_id"`
	ClientSecert          string `mapstructure:"client_secret"`
	RedirectURI           string `mapstructure:"redirect_uri"`
	PostLogoutRedirectURI string `mapstructure:"post_logout_redirect_uri"`
	ConfigPath            string `mapstructure:"config_path"`
	EndPoints             *EndPoints
}

type EndPoints struct {
	Issuer        string
	Auth          string
	Introspection string
	Token         string
	UserInfo      string
	Logout        string
	JwksUri       string
}
