@@ -18,6 +18,7 @@ import (
18 "github.com/dgrijalva/jwt-go"
18 "github.com/dgrijalva/jwt-go"
19 "github.com/mbland/hmacauth"
19 "github.com/mbland/hmacauth"
20 "github.com/pusher/oauth2_proxy/logger"
20 "github.com/pusher/oauth2_proxy/logger"
21+ "github.com/pusher/oauth2_proxy/pkg/apis/options"
21 "github.com/pusher/oauth2_proxy/providers"
22 "github.com/pusher/oauth2_proxy/providers"
22 "gopkg.in/natefinch/lumberjack.v2"
23 "gopkg.in/natefinch/lumberjack.v2"
@@ -49,14 +50,8 @@ type Options struct {
49 CustomTemplatesDir string `flag:"custom-templates-dir" cfg:"custom_templates_dir" env:"OAUTH2_PROXY_CUSTOM_TEMPLATES_DIR"`
50 CustomTemplatesDir string `flag:"custom-templates-dir" cfg:"custom_templates_dir" env:"OAUTH2_PROXY_CUSTOM_TEMPLATES_DIR"`
50 Footer string `flag:"footer" cfg:"footer" env:"OAUTH2_PROXY_FOOTER"`
51 Footer string `flag:"footer" cfg:"footer" env:"OAUTH2_PROXY_FOOTER"`
52− CookieName string `flag:"cookie-name" cfg:"cookie_name" env:"OAUTH2_PROXY_COOKIE_NAME"`
53+ // Embed CookieOptions
53− CookieSecret string `flag:"cookie-secret" cfg:"cookie_secret" env:"OAUTH2_PROXY_COOKIE_SECRET"`
54+ options.CookieOptions
54− CookieDomain string `flag:"cookie-domain" cfg:"cookie_domain" env:"OAUTH2_PROXY_COOKIE_DOMAIN"`
55− CookiePath string `flag:"cookie-path" cfg:"cookie_path" env:"OAUTH2_PROXY_COOKIE_PATH"`
56− CookieExpire time.Duration `flag:"cookie-expire" cfg:"cookie_expire" env:"OAUTH2_PROXY_COOKIE_EXPIRE"`
57− CookieRefresh time.Duration `flag:"cookie-refresh" cfg:"cookie_refresh" env:"OAUTH2_PROXY_COOKIE_REFRESH"`
58− CookieSecure bool `flag:"cookie-secure" cfg:"cookie_secure" env:"OAUTH2_PROXY_COOKIE_SECURE"`
59− CookieHTTPOnly bool `flag:"cookie-httponly" cfg:"cookie_httponly" env:"OAUTH2_PROXY_COOKIE_HTTPONLY"`
61 Upstreams []string `flag:"upstream" cfg:"upstreams" env:"OAUTH2_PROXY_UPSTREAMS"`
56 Upstreams []string `flag:"upstream" cfg:"upstreams" env:"OAUTH2_PROXY_UPSTREAMS"`
62 SkipAuthRegex []string `flag:"skip-auth-regex" cfg:"skip_auth_regex" env:"OAUTH2_PROXY_SKIP_AUTH_REGEX"`
57 SkipAuthRegex []string `flag:"skip-auth-regex" cfg:"skip_auth_regex" env:"OAUTH2_PROXY_SKIP_AUTH_REGEX"`
@@ -126,16 +121,18 @@ type SignatureData struct {
126// NewOptions constructs a new Options with defaulted values
121// NewOptions constructs a new Options with defaulted values
127func NewOptions() *Options {
122func NewOptions() *Options {
128 return &Options{
123 return &Options{
129− ProxyPrefix: "/oauth2",
124+ ProxyPrefix: "/oauth2",
130− ProxyWebSockets: true,
125+ ProxyWebSockets: true,
131− HTTPAddress: "127.0.0.1:4180",
126+ HTTPAddress: "127.0.0.1:4180",
132− HTTPSAddress: ":443",
127+ HTTPSAddress: ":443",
133− DisplayHtpasswdForm: true,
128+ DisplayHtpasswdForm: true,
129+ CookieOptions: options.CookieOptions{
134− CookieName: "_oauth2_proxy",
130+ CookieName: "_oauth2_proxy",
135− CookieSecure: true,
131+ CookieSecure: true,
136− CookieHTTPOnly: true,
132+ CookieHTTPOnly: true,
137− CookieExpire: time.Duration(168) * time.Hour,
133+ CookieExpire: time.Duration(168) * time.Hour,
138− CookieRefresh: time.Duration(0),
134+ CookieRefresh: time.Duration(0),
139 SetXAuthRequest: false,
136 SetXAuthRequest: false,
140 SkipAuthPreflight: false,
137 SkipAuthPreflight: false,
141 PassBasicAuth: true,
138 PassBasicAuth: true,