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()}`