mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
	
	
		
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
|  | package setting | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"strings" | ||
|  | 
 | ||
|  | 	"github.com/grafana/grafana/pkg/util" | ||
|  | ) | ||
|  | 
 | ||
|  | type AuthProxySettings struct { | ||
|  | 	// Auth Proxy
 | ||
|  | 	Enabled          bool | ||
|  | 	HeaderName       string | ||
|  | 	HeaderProperty   string | ||
|  | 	AutoSignUp       bool | ||
|  | 	EnableLoginToken bool | ||
|  | 	Whitelist        string | ||
|  | 	Headers          map[string]string | ||
|  | 	HeadersEncoded   bool | ||
|  | 	SyncTTL          int | ||
|  | } | ||
|  | 
 | ||
|  | func (cfg *Cfg) readAuthProxySettings() { | ||
|  | 	authProxySettings := AuthProxySettings{} | ||
|  | 	authProxy := cfg.Raw.Section("auth.proxy") | ||
|  | 	authProxySettings.Enabled = authProxy.Key("enabled").MustBool(false) | ||
|  | 	authProxySettings.HeaderName = valueAsString(authProxy, "header_name", "") | ||
|  | 	authProxySettings.HeaderProperty = valueAsString(authProxy, "header_property", "") | ||
|  | 	authProxySettings.AutoSignUp = authProxy.Key("auto_sign_up").MustBool(true) | ||
|  | 	authProxySettings.EnableLoginToken = authProxy.Key("enable_login_token").MustBool(false) | ||
|  | 	authProxySettings.SyncTTL = authProxy.Key("sync_ttl").MustInt(15) | ||
|  | 	authProxySettings.Whitelist = valueAsString(authProxy, "whitelist", "") | ||
|  | 	authProxySettings.Headers = make(map[string]string) | ||
|  | 	headers := valueAsString(authProxy, "headers", "") | ||
|  | 
 | ||
|  | 	for _, propertyAndHeader := range util.SplitString(headers) { | ||
|  | 		split := strings.SplitN(propertyAndHeader, ":", 2) | ||
|  | 		if len(split) == 2 { | ||
|  | 			authProxySettings.Headers[split[0]] = split[1] | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	authProxySettings.HeadersEncoded = authProxy.Key("headers_encoded").MustBool(false) | ||
|  | 
 | ||
|  | 	cfg.AuthProxy = authProxySettings | ||
|  | } |