diff --git a/internal/common/cookie.go b/internal/common/cookie.go index 94c235b..bab12c8 100644 --- a/internal/common/cookie.go +++ b/internal/common/cookie.go @@ -15,8 +15,8 @@ const ( ) // SetSessionCookie 写入会话 ID Cookie -// rememberMe=true → Cookie 持久化(30天),关浏览器后仍保持登录 -// rememberMe=false → Cookie session 模式(maxAge=0),关浏览器即清除 +// rememberMe=true → Cookie maxAge=30天,关浏览器后仍保持登录 +// rememberMe=false → Cookie maxAge=空闲超时(默认2h),与Redis TTL一致,关浏览器后自动清除 func SetSessionCookie(c *gin.Context, sid string, rememberMe bool, cfg *config.Config) { secure := cfg.Server.Mode != "debug" c.SetSameSite(http.SameSiteLaxMode) @@ -25,7 +25,7 @@ func SetSessionCookie(c *gin.Context, sid string, rememberMe bool, cfg *config.C if rememberMe { maxAge = cfg.Session.RememberTimeout * 60 // 分钟 → 秒 } else { - maxAge = 0 // session cookie + maxAge = cfg.Session.IdleTimeout * 60 // 分钟 → 秒,与 Redis TTL 一致 } log.Printf("[SetSessionCookie] sid=%s rememberMe=%v maxAge=%ds secure=%v", sid[:16]+"...", rememberMe, maxAge, secure)