Fix jwt-token
This commit is contained in:
@@ -52,12 +52,24 @@ api.interceptors.response.use(
|
||||
if (error.response?.status === 401 || error.response?.status === 403) {
|
||||
// Check if it's a token-related error
|
||||
const errorMessage = error.response?.data?.message || '';
|
||||
if (errorMessage.includes('token') || errorMessage.includes('expired') || error.response?.status === 401) {
|
||||
console.warn('🔐 Token expired or invalid - logging out');
|
||||
// Token expired or invalid - remove token and let ProtectedRoute handle navigation
|
||||
if (errorMessage.includes('token') || errorMessage.includes('expired') ||
|
||||
errorMessage.includes('invalid') || errorMessage.includes('required') ||
|
||||
error.response?.status === 401) {
|
||||
console.warn('🔐 Authentication failed:', errorMessage);
|
||||
console.warn('🔐 Redirecting to login page');
|
||||
|
||||
// Clear authentication data
|
||||
localStorage.removeItem('token');
|
||||
// Force a state update by dispatching a custom event
|
||||
localStorage.removeItem('user');
|
||||
|
||||
// Dispatch logout event for components that need to react
|
||||
window.dispatchEvent(new CustomEvent('auth-logout'));
|
||||
|
||||
// Redirect to login page
|
||||
const currentPath = window.location.pathname;
|
||||
if (currentPath !== '/login' && currentPath !== '/') {
|
||||
window.location.href = '/login';
|
||||
}
|
||||
}
|
||||
}
|
||||
return Promise.reject(error);
|
||||
|
||||
Reference in New Issue
Block a user