From a575e39970dcf12eaaf4d188025c5c74f832b7b6 Mon Sep 17 00:00:00 2001 From: Alexander Borg Date: Fri, 19 Sep 2025 07:24:42 +0200 Subject: [PATCH] Fix jwt-token --- management/src/services/api.js | 35 ++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/management/src/services/api.js b/management/src/services/api.js index ea3658b..edf1e34 100644 --- a/management/src/services/api.js +++ b/management/src/services/api.js @@ -26,17 +26,48 @@ api.interceptors.request.use( api.interceptors.response.use( (response) => response, (error) => { - if (error.response?.status === 401) { + console.log('๐Ÿšจ API Response Error:', { + status: error.response?.status, + statusText: error.response?.statusText, + data: error.response?.data, + config: { + url: error.config?.url, + method: error.config?.method + } + }); + + if (error.response?.status === 401 || error.response?.status === 403) { const errorData = error.response.data; console.warn('๐Ÿ” Authentication failed:', errorData?.message || 'Unknown error'); + console.log('๐Ÿ” Error details:', { + error: errorData?.error, + message: errorData?.message, + redirectToLogin: errorData?.redirectToLogin + }); // Clear authentication data + console.log('๐Ÿงน Clearing authentication data...'); localStorage.removeItem('management_token') localStorage.removeItem('management_user') // Check if the backend indicates we should redirect to login if (errorData?.redirectToLogin !== false) { - window.location.href = '/login' + console.log('๐Ÿ”„ Redirecting to login page...'); + // Use both methods to ensure redirect works + try { + if (window.location.pathname !== '/login') { + console.log('๐Ÿ”„ Current path:', window.location.pathname, '- redirecting...'); + window.location.href = '/login'; + } else { + console.log('๐Ÿ”„ Already on login page, skipping redirect'); + } + } catch (e) { + console.error('Failed to redirect via location.href:', e); + // Fallback: try replace + window.location.replace('/login'); + } + } else { + console.log('๐Ÿšซ Redirect to login disabled by backend response'); } } return Promise.reject(error)