Author | Jakob Wakeling <[email protected]> |
Date | 2025-01-18 22:41:09 |
Commit | 09af50073069a0bda6836ff09d867e96e453416f |
Parent | 6412f37785022dec163b53dc749742764030fd69 |
Extend session expiry time to 6 days
Diffstat
M | src/goit/auth.go | | | 9 | +++++++-- |
M | src/user/login.go | | | 2 | +- |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/goit/auth.go b/src/goit/auth.go index ceece02..43515cc 100644 --- a/src/goit/auth.go +++ b/src/goit/auth.go @@ -26,6 +26,11 @@ type Session struct { var Sessions = map[int64][]Session{} var SessionsMutex = sync.RWMutex{} +var ( + SessionDuration = 6 * 24 * time.Hour /* Sessions expire after 6 days. */ + SessionRenewal = 1 * 24 * time.Hour /* Sessions renew at most once a day. */ +) + /* Generate a new user session. */ func NewSession(uid int64, ip string, expiry time.Time) (Session, error) { var b = make([]byte, 24) @@ -181,10 +186,10 @@ func Auth(w http.ResponseWriter, r *http.Request, renew bool) (bool, *User, erro } /* Renew the session if appropriate */ - if renew && time.Until(s.Expiry) < 24*time.Hour { + if renew && time.Until(s.Expiry) < SessionRenewal { ip := Ip(r) - s1, err := NewSession(uid, ip, time.Now().Add(2*24*time.Hour)) + s1, err := NewSession(uid, ip, time.Now().Add(SessionDuration)) if err != nil { log.Println("[auth/renew]", err.Error()) } else { diff --git a/src/user/login.go b/src/user/login.go index ba727f3..9c29436 100644 --- a/src/user/login.go +++ b/src/user/login.go @@ -63,7 +63,7 @@ func HandleLogin(w http.ResponseWriter, r *http.Request) { goto execute } - sess, err := goit.NewSession(user.Id, ip, time.Now().Add(2*24*time.Hour)) + sess, err := goit.NewSession(user.Id, ip, time.Now().Add(goit.SessionDuration)) if err != nil { log.Println("[/user/login]", err.Error()) goit.HttpError(w, http.StatusInternalServerError)