authenticate,proxy: add same site lax to cookies (#2159)

This commit is contained in:
Caleb Doxsey 2021-04-30 10:24:47 -06:00 committed by GitHub
parent 699ebf061a
commit d9cc26a2e0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 0 deletions

View file

@ -5,6 +5,7 @@ import (
"crypto/cipher" "crypto/cipher"
"encoding/base64" "encoding/base64"
"fmt" "fmt"
"net/http"
"net/url" "net/url"
"sync/atomic" "sync/atomic"
@ -117,6 +118,7 @@ func newAuthenticateStateFromConfig(cfg *config.Config) (*authenticateState, err
Secure: cfg.Options.CookieSecure, Secure: cfg.Options.CookieSecure,
HTTPOnly: cfg.Options.CookieHTTPOnly, HTTPOnly: cfg.Options.CookieHTTPOnly,
Expire: cfg.Options.CookieExpire, Expire: cfg.Options.CookieExpire,
SameSite: http.SameSiteLaxMode,
} }
}, state.sharedEncoder) }, state.sharedEncoder)
if err != nil { if err != nil {

View file

@ -42,6 +42,7 @@ type Options struct {
Expire time.Duration Expire time.Duration
HTTPOnly bool HTTPOnly bool
Secure bool Secure bool
SameSite http.SameSite
} }
// A GetOptionsFunc is a getter for cookie options. // A GetOptionsFunc is a getter for cookie options.
@ -92,6 +93,7 @@ func (cs *Store) makeCookie(value string) *http.Cookie {
HttpOnly: opts.HTTPOnly, HttpOnly: opts.HTTPOnly,
Secure: opts.Secure, Secure: opts.Secure,
Expires: timeNow().Add(opts.Expire), Expires: timeNow().Add(opts.Expire),
SameSite: opts.SameSite,
} }
} }

View file

@ -3,6 +3,7 @@ package proxy
import ( import (
"crypto/cipher" "crypto/cipher"
"encoding/base64" "encoding/base64"
"net/http"
"net/url" "net/url"
"sync/atomic" "sync/atomic"
"time" "time"
@ -85,6 +86,7 @@ func newProxyStateFromConfig(cfg *config.Config) (*proxyState, error) {
Secure: cfg.Options.CookieSecure, Secure: cfg.Options.CookieSecure,
HTTPOnly: cfg.Options.CookieHTTPOnly, HTTPOnly: cfg.Options.CookieHTTPOnly,
Expire: cfg.Options.CookieExpire, Expire: cfg.Options.CookieExpire,
SameSite: http.SameSiteLaxMode,
} }
}, state.encoder) }, state.encoder)
if err != nil { if err != nil {