diff --git a/backend/main.go b/backend/main.go index dba9540..e615766 100644 --- a/backend/main.go +++ b/backend/main.go @@ -99,6 +99,8 @@ func main() { r.Group(func(r chi.Router) { r.Use(mw.RequireAuth) + r.Post("/refresh-token", authHandlers.RefreshTokenHandler) + r.Get("/user/profile", user.GetProfileHandler) r.Put("/user/profile", user.UpdateProfileHandler) r.Delete("/user/account", user.DeleteAccountHandler) diff --git a/frontend/src/lib/stores/auth.svelte.ts b/frontend/src/lib/stores/auth.svelte.ts index 1d62674..1328511 100644 --- a/frontend/src/lib/stores/auth.svelte.ts +++ b/frontend/src/lib/stores/auth.svelte.ts @@ -32,6 +32,12 @@ class AuthStore { constructor() { if (browser) { this.initializeAuth(); + // Check token refresh every hour + setInterval(() => { + if (this.token) { + this.refreshTokenIfNeeded(); + } + }, 60 * 60 * 1000); } } @@ -70,6 +76,8 @@ class AuthStore { lastName: '' }; this.fetchUserProfile(); + // Check if token needs refresh + this.refreshTokenIfNeeded(); } else { this.clearAuth(); }