Fix jwt-token

This commit is contained in:
2025-08-19 03:40:47 +02:00
parent 7b31d7f5e5
commit c042eed0e9
2 changed files with 13 additions and 5 deletions

View File

@@ -66,6 +66,16 @@ export const AuthProvider = ({ children }) => {
} }
}, []); }, []);
// Listen for auth logout events from API interceptor
useEffect(() => {
const handleAuthLogout = () => {
dispatch({ type: 'LOGOUT' });
};
window.addEventListener('auth-logout', handleAuthLogout);
return () => window.removeEventListener('auth-logout', handleAuthLogout);
}, []);
const checkAuthStatus = async () => { const checkAuthStatus = async () => {
try { try {
dispatch({ type: 'SET_LOADING', payload: true }); dispatch({ type: 'SET_LOADING', payload: true });

View File

@@ -46,12 +46,10 @@ api.interceptors.response.use(
(response) => response, (response) => response,
(error) => { (error) => {
if (error.response?.status === 401) { if (error.response?.status === 401) {
// Token expired or invalid - let AuthContext handle this // Token expired or invalid - remove token and let ProtectedRoute handle navigation
localStorage.removeItem('token'); localStorage.removeItem('token');
// Only redirect if not already on login page // Force a state update by dispatching a custom event
if (window.location.pathname !== '/login') { window.dispatchEvent(new CustomEvent('auth-logout'));
window.location.href = '/login';
}
} }
return Promise.reject(error); return Promise.reject(error);
} }