diff --git a/cmd/generate-config/main.go b/cmd/generate-config/main.go index 1c585d916..29695d114 100644 --- a/cmd/generate-config/main.go +++ b/cmd/generate-config/main.go @@ -82,6 +82,27 @@ func main() { if *defaultsForCI { cfg.AppServiceAPI.DisableTLSValidation = true cfg.ClientAPI.RateLimiting.Enabled = false + cfg.ClientAPI.Login.SSO.Enabled = true + cfg.ClientAPI.Login.SSO.Providers = []config.IdentityProvider{ + { + ID: "github", + Name: "Fake GitHub", + OIDC: config.OIDC{ + ClientID: "aclientid", + ClientSecret: "aclientsecret", + }, + }, + { + ID: "google", + Name: "Fake Google", + Type: "oidc", + OIDC: config.OIDC{ + ClientID: "aclientid", + ClientSecret: "aclientsecret", + DiscoveryURL: "https://accounts.google.com/.well-known/openid-configuration", + }, + }, + } cfg.FederationAPI.DisableTLSValidation = false // don't hit matrix.org when running tests!!! cfg.FederationAPI.KeyPerspectives = config.KeyPerspectives{} diff --git a/setup/config/config_clientapi.go b/setup/config/config_clientapi.go index 868732361..9780a2549 100644 --- a/setup/config/config_clientapi.go +++ b/setup/config/config_clientapi.go @@ -180,11 +180,13 @@ type IdentityProvider struct { Type IdentityProviderType `yaml:"type"` // OIDC contains settings for providers based on OpenID Connect (OAuth 2). - OIDC struct { - ClientID string `yaml:"client_id"` - ClientSecret string `yaml:"client_secret"` - DiscoveryURL string `yaml:"discovery_url"` - } `yaml:"oidc"` + OIDC OIDC `yaml:"oidc"` +} + +type OIDC struct { + ClientID string `yaml:"client_id"` + ClientSecret string `yaml:"client_secret"` + DiscoveryURL string `yaml:"discovery_url"` } func (idp *IdentityProvider) Verify(configErrs *ConfigErrors) {