fix: increase JWT session to 30 days + auto-refresh in middleware

JWT session tokens now last 30 days instead of 24 hours. The middleware
silently refreshes the token when it has less than 7 days remaining,
so active users never get locked out of the dashboard.

Auto-refresh fires on any /dashboard request and sets a fresh 30-day
cookie via Set-Cookie header — completely transparent to the user.
This commit is contained in:
diegosouzapw
2026-02-20 07:02:18 -03:00
parent c69ad118d1
commit d0fa01cc0a
2 changed files with 38 additions and 3 deletions

View File

@@ -57,7 +57,7 @@ export async function POST(request) {
const token = await new SignJWT({ authenticated: true })
.setProtectedHeader({ alg: "HS256" })
.setExpirationTime("24h")
.setExpirationTime("30d")
.sign(SECRET);
const cookieStore = await cookies();