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
 | 
						|
}
 |