config

package
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BackingCacheTypeInMemory = "in-memory"
	BackingCacheTypeRedis    = "redis"
)

Variables

View Source
var ConfigDefaultJSON = []byte(``)

Functions

This section is empty.

Types

type BackingCacheConfig

type BackingCacheConfig struct {
	Type          string              `json:"type"`
	InMemoryCache InMemoryCacheConfig `json:"inMemoryCache"`
}

type CORSConfig added in v1.0.20

type CORSConfig struct {
	Enabled                                  bool     `json:"enabled"`
	AllowedOrigins                           []string `json:"allowedOrigins"`
	AllowedMethods                           []string `json:"allowedMethods"`
	AllowedHeaders                           []string `json:"allowedHeaders"`
	AllowCredentials                         bool     `json:"allowCredentials"`
	UnsafeWildcardOriginWithAllowCredentials bool     `json:"unsafeWildcardOriginWithAllowCredentials"`
	ExposeHeaders                            []string `json:"exposeHeaders"`
	MaxAge                                   int      `json:"maxAge"`
}

type CSRFConfig added in v1.1.0

type CSRFConfig struct {
	SkipApi bool `json:"skipApi"`
}

type Config

type Config struct {
	fluffycore_contracts_config.CoreConfig `mapstructure:",squash"`

	ConfigFiles                    ConfigFiles                           `json:"configFiles"`
	Echo                           *EchoConfig                           `json:"echo"`
	InMemoryClients                InMemoryClients                       `json:"inMemoryClients"`
	OIDCConfig                     *OIDCConfig                           `json:"oidcConfig"`
	BackingCache                   *BackingCacheConfig                   `json:"backingCache"`
	AutolinkOnEmailMatch           bool                                  `json:"autolinkOnEmailMatch"`
	EmailVerificationRequired      bool                                  `json:"emailVerificationRequired"`
	MultiFactorRequired            bool                                  `json:"multiFactorRequired"`
	MultiFactorRequiredByEmailCode bool                                  `json:"multiFactorRequiredByEmailCode"`
	TOTP                           *TOTPConfig                           `json:"totp"`
	EmailConfig                    *contracts_email.EmailConfig          `json:"emailConfig"`
	SelfIDPConfig                  *SelfIDPConfig                        `json:"selfIDPConfig"`
	CookieConfig                   *CookieConfig                         `json:"cookieConfig"`
	SystemConfig                   *SystemConfig                         `json:"systemConfig"`
	SessionConfig                  *contracts_sessions.SessionConfig     `json:"sessionConfig"`
	WebAuthNConfig                 *contracts_webauthn.WebAuthNConfig    `json:"webAuthNConfig"`
	PasswordConfig                 *PasswordConfig                       `json:"passwordConfig"`
	CORSConfig                     *CORSConfig                           `json:"corsConfig"`
	CSRFConfig                     *CSRFConfig                           `json:"csrfConfig"`
	OTELConfig                     *fluffycore_contracts_otel.OTELConfig `json:"otelConfig"`
}

type ConfigFiles

type ConfigFiles struct {
	OIDCClientPath     string `json:"oidcClientPath"`
	IDPsPath           string `json:"idpsPath"`
	SigningKeyJsonPath string `json:"signingKeyJsonPath"`
	RagePath           string `json:"ragePath"`
	SeedUsersPath      string `json:"seedUsersPath"`
}

type CookieConfig

type CookieConfig struct {
	Domain string `json:"domain"`
}

type EchoConfig

type EchoConfig struct {
	Port                 int                                                    `json:"port"`
	SecureCookies        *fluffycore_echo_contracts_cookies.SecureCookiesConfig `json:"secureCookies"`
	DisableSecureCookies bool                                                   `json:"disableSecureCookies"`
}

type InMemoryCacheConfig

type InMemoryCacheConfig struct {
	DefaultExpirationSeconds int `json:"defaultExpirationSeconds"`
	CleanupIntervalSeconds   int `json:"cleanupIntervalSeconds"`
}

type InMemoryClient

type InMemoryClient struct {
	Secret   string `json:"secret"`
	ClientId string `json:"clientId"`
}

type InMemoryClients

type InMemoryClients struct {
	Clients []*proto_oidc_models.Client `json:"clients"`
}

type InitialConfig

type InitialConfig struct {
	ConfigFiles ConfigFiles `json:"configFiles"`
}

type JWTValidators

type JWTValidators struct {
	Issuers  []string `json:"issuers"`
	JWKSURLS []string `json:"jwksUrls"`
}

type OIDCConfig

type OIDCConfig struct {
	BaseUrl            string `json:"baseUrl"`
	OAuth2CallbackPath string `json:"oauth2CallbackPath"`
}

type PasswordConfig added in v1.0.9

type PasswordConfig struct {
	MinEntropyBits float64 `json:"minEntropyBits"`
}

type SelfIDPConfig

type SelfIDPConfig struct {
	ClientID     string   `json:"clientId"`
	ClientSecret string   `json:"clientSecret"`
	RedirectURL  string   `json:"redirectUrl"`
	Authority    string   `json:"authority"`
	Scopes       []string `json:"scopes"`
}

type SystemConfig

type SystemConfig struct {
	DeveloperMode bool   `json:"developerMode"`
	Domain        string `json:"domain"`
}

type TOTPConfig added in v1.0.13

type TOTPConfig struct {
	Enabled    bool   `json:"enabled"`
	IssuerName string `json:"issuerName"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL