From 2ee5e2ea83e00999a81d07d82438c6998823fec8 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Thu, 9 Jul 2026 20:20:33 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20sesi=C3=B3n=20sin=20vencimiento=20pr?= =?UTF-8?q?=C3=A1ctico=20(90=20a=C3=B1os=20JWT=20+=20cookie=20persistente)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - JWT exp: 1 año → 90 años - Cookie Verify-Rest-Token: sin MaxAge (session cookie) → MaxAge 90 años - Session store: 1 año → 90 años Co-Authored-By: Claude Sonnet 4.6 --- config/session.go | 6 +++--- config/token.go | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/config/session.go b/config/session.go index 0cbea44..04f5c16 100755 --- a/config/session.go +++ b/config/session.go @@ -11,11 +11,11 @@ type SessionConfig struct { *session.Session } -// Setup configura el almacén de sesiones en memoria con expiración de 1 año. +// Setup configura el almacén de sesiones en memoria sin vencimiento práctico. func (s *SessionConfig) Setup(db DatabaseDriver) error { s.Session = session.New(session.Config{ - Expiration: 365 * 24 * time.Hour, + Expiration: 90 * 365 * 24 * time.Hour, }) - log.Println("[SESSION] Sesiones en memoria (expiran en 1 año o al reiniciar)") + log.Println("[SESSION] Sesiones en memoria (sin vencimiento práctico)") return nil } diff --git a/config/token.go b/config/token.go index 53c4076..e10b94a 100755 --- a/config/token.go +++ b/config/token.go @@ -21,10 +21,11 @@ func (t *Token) CreateToken(c *fiber.Ctx, userID uint, secret string, expire ... claims := token.Claims.(jwt.MapClaims) claims["id"] = userID + const ninetyYears = int64(90 * 365 * 24 * 3600) if len(expire) > 0 { t.Expire = expire[0] } else { - t.Expire = 31536000 // 1 año por defecto si no se configura + t.Expire = ninetyYears } expiresIn := time.Now().Add(time.Duration(t.Expire) * time.Second).Unix() claims["exp"] = expiresIn @@ -37,6 +38,7 @@ func (t *Token) CreateToken(c *fiber.Ctx, userID uint, secret string, expire ... c.Cookie(&fiber.Cookie{ Name: "Verify-Rest-Token", Value: tokenHash, + MaxAge: int(ninetyYears), Secure: false, HTTPOnly: true, })