From 99f88d2fb850a8b6e0d42e7c60fafaca9ffdedf7 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Fri, 18 Feb 2022 11:02:00 -0700 Subject: [PATCH] use last cookie matching --- server/authenticate.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/authenticate.go b/server/authenticate.go index 8a8059f..0a2eff9 100644 --- a/server/authenticate.go +++ b/server/authenticate.go @@ -183,9 +183,14 @@ func requestLoginCookie(r *http.Request) (User, bool) { } func getCookie(key string, r *http.Request) (string, bool) { - cookie, err := r.Cookie(key) - if err != nil { - log.Printf("err getting cookie %s: %v: %+v", key, err, r.Cookies()) + var cookie *http.Cookie + cookies := r.Cookies() + for i := range cookies { + if cookies[i].Name == key && (cookies[i].Expires.IsZero() || time.Now().Before(cookies[i].Expires)) { + cookie = cookies[i] + } + } + if cookie == nil { return "", false } return cookie.Value, cookie.Expires.IsZero() || time.Now().Before(cookie.Expires)