Register BrokenAuthHeaderProviders if needed
This commit is contained in:
+22
-16
@@ -63,28 +63,34 @@ func NewOAuthService() {
|
|||||||
for _, name := range allOauthes {
|
for _, name := range allOauthes {
|
||||||
sec := setting.Raw.Section("auth." + name)
|
sec := setting.Raw.Section("auth." + name)
|
||||||
info := &setting.OAuthInfo{
|
info := &setting.OAuthInfo{
|
||||||
ClientId: sec.Key("client_id").String(),
|
ClientId: sec.Key("client_id").String(),
|
||||||
ClientSecret: sec.Key("client_secret").String(),
|
ClientSecret: sec.Key("client_secret").String(),
|
||||||
Scopes: util.SplitString(sec.Key("scopes").String()),
|
Scopes: util.SplitString(sec.Key("scopes").String()),
|
||||||
AuthUrl: sec.Key("auth_url").String(),
|
AuthUrl: sec.Key("auth_url").String(),
|
||||||
TokenUrl: sec.Key("token_url").String(),
|
TokenUrl: sec.Key("token_url").String(),
|
||||||
ApiUrl: sec.Key("api_url").String(),
|
ApiUrl: sec.Key("api_url").String(),
|
||||||
Enabled: sec.Key("enabled").MustBool(),
|
Enabled: sec.Key("enabled").MustBool(),
|
||||||
EmailAttributeName: sec.Key("email_attribute_name").String(),
|
EmailAttributeName: sec.Key("email_attribute_name").String(),
|
||||||
AllowedDomains: util.SplitString(sec.Key("allowed_domains").String()),
|
AllowedDomains: util.SplitString(sec.Key("allowed_domains").String()),
|
||||||
HostedDomain: sec.Key("hosted_domain").String(),
|
HostedDomain: sec.Key("hosted_domain").String(),
|
||||||
AllowSignup: sec.Key("allow_sign_up").MustBool(),
|
AllowSignup: sec.Key("allow_sign_up").MustBool(),
|
||||||
Name: sec.Key("name").MustString(name),
|
Name: sec.Key("name").MustString(name),
|
||||||
TlsClientCert: sec.Key("tls_client_cert").String(),
|
TlsClientCert: sec.Key("tls_client_cert").String(),
|
||||||
TlsClientKey: sec.Key("tls_client_key").String(),
|
TlsClientKey: sec.Key("tls_client_key").String(),
|
||||||
TlsClientCa: sec.Key("tls_client_ca").String(),
|
TlsClientCa: sec.Key("tls_client_ca").String(),
|
||||||
TlsSkipVerify: sec.Key("tls_skip_verify_insecure").MustBool(),
|
TlsSkipVerify: sec.Key("tls_skip_verify_insecure").MustBool(),
|
||||||
|
BrokenAuthHeaderProvider: sec.Key("broken_auth_header_provider").MustBool(),
|
||||||
}
|
}
|
||||||
|
|
||||||
if !info.Enabled {
|
if !info.Enabled {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// handle the clients that do not properly support Basic auth headers and require passing client_id/client_secret via POST payload
|
||||||
|
if info.BrokenAuthHeaderProvider {
|
||||||
|
oauth2.RegisterBrokenAuthHeaderProvider(info.TokenUrl)
|
||||||
|
}
|
||||||
|
|
||||||
if name == "grafananet" {
|
if name == "grafananet" {
|
||||||
name = grafanaCom
|
name = grafanaCom
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user