diff --git a/CHANGELOG.md b/CHANGELOG.md index 48867b85..ddd3bc68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ## Changes since v5.0.0 +- [#450](https://github.com/pusher/oauth2_proxy/pull/450) Fix http.Cookie SameSite is not copied (@johejo) - [#445](https://github.com/pusher/oauth2_proxy/pull/445) Expose `acr_values` to all providers (@holyjak) - [#419](https://github.com/pusher/oauth2_proxy/pull/419) Support Go 1.14, upgrade dependencies, upgrade golangci-lint to 1.23.6 (@johejo) - [#444](https://github.com/pusher/oauth2_proxy/pull/444) Support prompt in addition to approval-prompt (@holyjak) diff --git a/pkg/sessions/cookie/session_store.go b/pkg/sessions/cookie/session_store.go index ac9cfaf2..7964bd71 100644 --- a/pkg/sessions/cookie/session_store.go +++ b/pkg/sessions/cookie/session_store.go @@ -207,5 +207,6 @@ func copyCookie(c *http.Cookie) *http.Cookie { HttpOnly: c.HttpOnly, Raw: c.Raw, Unparsed: c.Unparsed, + SameSite: c.SameSite, } } diff --git a/pkg/sessions/cookie/session_store_test.go b/pkg/sessions/cookie/session_store_test.go new file mode 100644 index 00000000..de8d1b57 --- /dev/null +++ b/pkg/sessions/cookie/session_store_test.go @@ -0,0 +1,30 @@ +package cookie + +import ( + "net/http" + "testing" + "time" + + "github.com/stretchr/testify/assert" +) + +func Test_copyCookie(t *testing.T) { + expire, _ := time.Parse(time.RFC3339, "2020-03-17T00:00:00Z") + c := &http.Cookie{ + Name: "name", + Value: "value", + Path: "/path", + Domain: "x.y.z", + Expires: expire, + RawExpires: "rawExpire", + MaxAge: 1, + Secure: true, + HttpOnly: true, + Raw: "raw", + Unparsed: []string{"unparsed"}, + SameSite: http.SameSiteLaxMode, + } + + got := copyCookie(c) + assert.Equal(t, c, got) +}