Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateSecret ¶
GenerateSecret Helper to generate a default secret to use
Types ¶
type AuthPlzConfig ¶
type AuthPlzConfig struct { Name string `yaml:"name"` Address string `yaml:"bind-address"` Port string `yaml:"bind-port"` ExternalAddress string `yaml:"external-address"` AllowedOrigins []string `yaml:"allowed-origins"` DisableWebSecurity bool `yaml:"disable-web-security"` Database string `yaml:"database"` CookieSecret string `yaml:"cookie-secret"` TokenSecret string `yaml:"token-secret"` StaticDir string `yaml:"static-dir"` TemplateDir string `yaml:"template-dir"` TLS TLSConfig `yaml:"tls"` OAuth OAuthConfig `yaml:"oauth"` Mailer MailerConfig `yaml:"mailer"` MinimumPasswordLength int `yaml:"password-len"` }
AuthPlzConfig configuration structure
func DefaultConfig ¶
func DefaultConfig() (*AuthPlzConfig, error)
DefaultConfig Generate default configuration
func GetConfig ¶
func GetConfig() (*AuthPlzConfig, error)
GetConfig fetches the server configuration This parses environmental variables, command line flags, and handles file based loading of configurations.
func LoadConfig ¶
func LoadConfig(filename, envPrefix string) (*AuthPlzConfig, error)
LoadConfig loads configuration from the specified file, using the provided prefix for environmental vars
type CLIOptions ¶
type CLIOptions struct { ConfigFile string `short:"c" long:"config" description:"AuthPlz configuration file" default:"./authplz.yml"` Prefix string `short:"p" long:"prefix" description:"Prefix for environmental variable loading" default:"AUTHPLZ_"` }
CLIOptions defines options that can be passed on the command line other options must be passed through the configuration file
type MailerConfig ¶
type MailerConfig struct { Driver string `yaml:"driver"` Options map[string]string `yaml:"options"` }
MailerConfig Mailer configuration options
type OAuthConfig ¶
type OAuthConfig struct { // Redirect to client app for oauth authorization AuthorizeRedirect string // Secret for OAuth token attestation TokenSecret string // AllowedScopes defines the scopes a client can grant for admins and users AllowedScopes configSplit // AllowedGrants defines the grant types a client can support for admins and users AllowedGrants configSplit // AllowedResponses defines response types a client can support AllowedResponses []string // AccessExpiry is Access Token expiry time AccessExpiry time.Duration // IDExpiry is ID Token expiry time IDExpiry time.Duration // AuthorizeExpiry is Authorization token expiry time AuthorizeExpiry time.Duration // RefreshExpiry is Refresh token expiry time RefreshExpiry time.Duration }
OAuthConfig OAuth controller configuration structure
func DefaultOAuthConfig ¶
func DefaultOAuthConfig() OAuthConfig
DefaultOAuthConfig generates a default configuration for the OAuth module