diff options
Diffstat (limited to 'api/context.go')
-rw-r--r-- | api/context.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/api/context.go b/api/context.go index 117fff708..f8953f547 100644 --- a/api/context.go +++ b/api/context.go @@ -185,6 +185,20 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } } + // TEMPORARY CODE FOR 3.9, REMOVE FOR 3.10 + if cookie, err := r.Cookie(model.SESSION_COOKIE_TOKEN); err == nil && c.Session.UserId != "" { + if _, err = r.Cookie(model.SESSION_COOKIE_USER); err != nil { + http.SetCookie(w, &http.Cookie{ + Name: model.SESSION_COOKIE_USER, + Value: c.Session.UserId, + Path: "/", + MaxAge: cookie.MaxAge, + Expires: cookie.Expires, + Secure: cookie.Secure, + }) + } + } + if h.isApi || h.isTeamIndependent { c.setTeamURL(c.GetSiteURLHeader(), false) c.Path = r.URL.Path @@ -357,7 +371,15 @@ func (c *Context) RemoveSessionCookie(w http.ResponseWriter, r *http.Request) { HttpOnly: true, } + userCookie := &http.Cookie{ + Name: model.SESSION_COOKIE_USER, + Value: "", + Path: "/", + MaxAge: -1, + } + http.SetCookie(w, cookie) + http.SetCookie(w, userCookie) } func (c *Context) SetInvalidParam(where string, name string) { |