@@ -27,6 +27,7 @@ type OauthProxy struct {
2727 CookieKey string
2828 CookieDomain string
2929 CookieHttpsOnly bool
30+ CookieHttpOnly bool
3031 CookieExpire time.Duration
3132 Validator func(string) bool
3233
@@ -67,12 +68,13 @@ func NewOauthProxy(opts *Options, validator func(string) bool) *OauthProxy {
6768 if domain == "" {
6869 domain = "<default>"
6970 }
70− log.Printf("Cookie settings: https_only: %v expiry: %s domain:%s", opts.CookieHttpsOnly, opts.CookieExpire, domain)
71+ log.Printf("Cookie settings: https_only: %v httponly: %v expiry: %s domain:%s", opts.CookieHttpsOnly, opts.CookieHttpOnly, opts.CookieExpire, domain)
7172 return &OauthProxy{
7273 CookieKey: "_oauthproxy",
7374 CookieSeed: opts.CookieSecret,
7475 CookieDomain: opts.CookieDomain,
7576 CookieHttpsOnly: opts.CookieHttpsOnly,
77+ CookieHttpOnly: opts.CookieHttpOnly,
7678 CookieExpire: opts.CookieExpire,
7779 Validator: validator,
7880
@@ -197,7 +199,7 @@ func (p *OauthProxy) ClearCookie(rw http.ResponseWriter, req *http.Request) {
197199 Path: "/",
198200 Domain: domain,
199201 Expires: time.Now().Add(time.Duration(1) * time.Hour * -1),
200− HttpOnly: true,
202+ HttpOnly: p.CookieHttpOnly,
201203 }
202204 http.SetCookie(rw, cookie)
203205}
@@ -213,7 +215,7 @@ func (p *OauthProxy) SetCookie(rw http.ResponseWriter, req *http.Request, val st
213215 Value: signedCookieValue(p.CookieSeed, p.CookieKey, val),
214216 Path: "/",
215217 Domain: domain,
216− HttpOnly: true,
218+ HttpOnly: p.CookieHttpOnly,
217219 Secure: p.CookieHttpsOnly,
218220 Expires: time.Now().Add(p.CookieExpire),
219221 }