package config type Auth struct { Providers AuthProviders `envPrefix:"PROVIDERS_"` } type AuthProviders struct { Google OAuth2Provider `envPrefix:"GOOGLE_"` Github OAuth2Provider `envPrefix:"GITHUB_"` Gitea GiteaProvider `envPrefix:"GITEA_"` OIDC OIDCProvider `envPrefix:"OIDC_"` } type OAuth2Provider struct { Key string `env:"KEY,expand"` Secret string `env:"SECRET,expand"` Scopes []string `env:"SCOPES,expand"` } type OIDCProvider struct { OAuth2Provider DiscoveryURL string `env:"DISCOVERY_URL,expand"` Icon string `env:"ICON,expand" envDefault:"fa-passport"` Label string `env:"LABEL,expand" envDefault:"OpenID Connect"` } type GiteaProvider struct { OAuth2Provider TokenURL string `env:"TOKEN_URL,expand"` AuthURL string `env:"AUTH_URL,expand"` ProfileURL string `env:"PROFILE_URL,expand"` Label string `env:"LABEL,expand" envDefault:"Gitea"` }