mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2024-11-24 08:52:25 +02:00
45 lines
1.9 KiB
Go
45 lines
1.9 KiB
Go
package options
|
|
|
|
// SessionOptions contains configuration options for the SessionStore providers.
|
|
type SessionOptions struct {
|
|
Type string `flag:"session-store-type" cfg:"session_store_type"`
|
|
Cookie CookieStoreOptions `cfg:",squash"`
|
|
Redis RedisStoreOptions `cfg:",squash"`
|
|
}
|
|
|
|
// CookieSessionStoreType is used to indicate the CookieSessionStore should be
|
|
// used for storing sessions.
|
|
var CookieSessionStoreType = "cookie"
|
|
|
|
// RedisSessionStoreType is used to indicate the RedisSessionStore should be
|
|
// used for storing sessions.
|
|
var RedisSessionStoreType = "redis"
|
|
|
|
// CookieStoreOptions contains configuration options for the CookieSessionStore.
|
|
type CookieStoreOptions struct {
|
|
Minimal bool `flag:"session-cookie-minimal" cfg:"session_cookie_minimal"`
|
|
}
|
|
|
|
// RedisStoreOptions contains configuration options for the RedisSessionStore.
|
|
type RedisStoreOptions struct {
|
|
ConnectionURL string `flag:"redis-connection-url" cfg:"redis_connection_url"`
|
|
Password string `flag:"redis-password" cfg:"redis_password"`
|
|
UseSentinel bool `flag:"redis-use-sentinel" cfg:"redis_use_sentinel"`
|
|
SentinelPassword string `flag:"redis-sentinel-password" cfg:"redis_sentinel_password"`
|
|
SentinelMasterName string `flag:"redis-sentinel-master-name" cfg:"redis_sentinel_master_name"`
|
|
SentinelConnectionURLs []string `flag:"redis-sentinel-connection-urls" cfg:"redis_sentinel_connection_urls"`
|
|
UseCluster bool `flag:"redis-use-cluster" cfg:"redis_use_cluster"`
|
|
ClusterConnectionURLs []string `flag:"redis-cluster-connection-urls" cfg:"redis_cluster_connection_urls"`
|
|
CAPath string `flag:"redis-ca-path" cfg:"redis_ca_path"`
|
|
InsecureSkipTLSVerify bool `flag:"redis-insecure-skip-tls-verify" cfg:"redis_insecure_skip_tls_verify"`
|
|
}
|
|
|
|
func sessionOptionsDefaults() SessionOptions {
|
|
return SessionOptions{
|
|
Type: CookieSessionStoreType,
|
|
Cookie: CookieStoreOptions{
|
|
Minimal: false,
|
|
},
|
|
}
|
|
}
|