diff --git a/frontend/composables/use-api.ts b/frontend/composables/use-api.ts index f793908..cf8cd7d 100644 --- a/frontend/composables/use-api.ts +++ b/frontend/composables/use-api.ts @@ -34,6 +34,7 @@ export function useUserApi(): UserClient { requests.addResponseInterceptor(logger); requests.addResponseInterceptor(r => { if (r.status === 401) { + console.error("unauthorized request, invalidating session"); authCtx.invalidateSession(); } }); diff --git a/frontend/middleware/auth.ts b/frontend/middleware/auth.ts index 1c9e95d..dd41635 100644 --- a/frontend/middleware/auth.ts +++ b/frontend/middleware/auth.ts @@ -2,10 +2,14 @@ export default defineNuxtRouteMiddleware(async () => { const ctx = useAuthContext(); const api = useUserApi(); + if (!ctx.isAuthorized()) { + return navigateTo("/"); + } + if (!ctx.user) { const { data, error } = await api.user.self(); if (error) { - navigateTo("/"); + return navigateTo("/"); } ctx.user = data.item;