From 2b01ed688c14bc28a46f891f51fce932004428a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20T=C3=A4kker?= Date: Sun, 5 Apr 2026 13:57:25 +0200 Subject: [PATCH] Made useAuth safer --- app/composables/useAuth.ts | 8 +++++--- app/utils/cfetch.ts | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/composables/useAuth.ts b/app/composables/useAuth.ts index f022c99..e12beec 100644 --- a/app/composables/useAuth.ts +++ b/app/composables/useAuth.ts @@ -131,9 +131,11 @@ export const useAuth = () => { return refreshPromise } - onMounted(() => { - if (refreshToken.value && !sessionToken.value) refreshSessionToken() - }) + if (getCurrentInstance()) { + onMounted(() => { + if (refreshToken.value && !sessionToken.value) refreshSessionToken() + }) + } return { refreshToken, diff --git a/app/utils/cfetch.ts b/app/utils/cfetch.ts index 9291e83..0ccdcc8 100644 --- a/app/utils/cfetch.ts +++ b/app/utils/cfetch.ts @@ -25,13 +25,13 @@ export const cfetch = async ( if (!baseUrl) throw new Error("BACKEND URL not set") - const { sessionToken, refreshSessionToken } = useAuth() - const defaults: AxiosRequestConfig = { baseURL: baseUrl, } if (authorize) { + const { sessionToken, refreshSessionToken } = useAuth() + let token = sessionToken.value if (token) defaults.headers = { Authorization: `Bearer ${token}` } @@ -64,6 +64,8 @@ export const cfetch = async ( response = await axios(url, config) } catch (error: any) { if (error.response?.status == 401) { + const { sessionToken, refreshSessionToken } = useAuth() + if (!config.headers) config.headers = {} config.headers.Authorization = `Bearer ${await refreshSessionToken()}`