diff options
author | Jonathan Tran <jonnytran@gmail.com> | 2024-04-14 00:46:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-14 12:46:56 +0800 |
commit | b18c04ebde94e23d97da4958173faea843d5344f (patch) | |
tree | 56b8cfd225e32f18e4e6f6774f64eae18a10e4bc /modules/session/store.go | |
parent | c77e8140bc2ac6521dbebfb77613dce2648bfcb8 (diff) | |
download | gitea-b18c04ebde94e23d97da4958173faea843d5344f.tar.gz gitea-b18c04ebde94e23d97da4958173faea843d5344f.zip |
fix: Fix to delete cookie when AppSubURL is non-empty (#30375)
Cookies may exist on "/subpath" and "/subpath/" for some legacy reasons (eg: changed CookiePath behavior in code). The legacy cookie should be removed correctly.
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Kyle D <kdumontnu@gmail.com>
Diffstat (limited to 'modules/session/store.go')
-rw-r--r-- | modules/session/store.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/session/store.go b/modules/session/store.go index 4fa4d2848f..2f7ab7760b 100644 --- a/modules/session/store.go +++ b/modules/session/store.go @@ -6,6 +6,9 @@ package session import ( "net/http" + "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/web/middleware" + "gitea.com/go-chi/session" ) @@ -18,6 +21,10 @@ type Store interface { // RegenerateSession regenerates the underlying session and returns the new store func RegenerateSession(resp http.ResponseWriter, req *http.Request) (Store, error) { + // Ensure that a cookie with a trailing slash does not take precedence over + // the cookie written by the middleware. + middleware.DeleteLegacySiteCookie(resp, setting.SessionConfig.CookieName) + s, err := session.RegenerateSession(resp, req) return s, err } |