Fix jwt-token
This commit is contained in:
@@ -51,6 +51,11 @@ const Devices = () => {
|
||||
fetchDevices();
|
||||
} catch (error) {
|
||||
console.error('Error approving device:', error);
|
||||
if (error.response?.status === 401 || error.response?.status === 403) {
|
||||
alert('Your session has expired. Please log in again.');
|
||||
return;
|
||||
}
|
||||
alert('Error approving device: ' + (error.response?.data?.message || error.message));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -61,6 +66,11 @@ const Devices = () => {
|
||||
fetchDevices();
|
||||
} catch (error) {
|
||||
console.error('Error rejecting device:', error);
|
||||
if (error.response?.status === 401 || error.response?.status === 403) {
|
||||
alert('Your session has expired. Please log in again.');
|
||||
return;
|
||||
}
|
||||
alert('Error rejecting device: ' + (error.response?.data?.message || error.message));
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -559,6 +569,14 @@ const DeviceModal = ({ device, onClose, onSave }) => {
|
||||
onSave();
|
||||
} catch (error) {
|
||||
console.error('Error saving device:', error);
|
||||
|
||||
// Check if it's a token expiration error
|
||||
if (error.response?.status === 401 || error.response?.status === 403) {
|
||||
alert('Your session has expired. Please log in again.');
|
||||
// The API interceptor will handle the logout automatically
|
||||
return;
|
||||
}
|
||||
|
||||
alert('Error saving device: ' + (error.response?.data?.message || error.message));
|
||||
} finally {
|
||||
setSaving(false);
|
||||
|
||||
@@ -48,11 +48,16 @@ api.interceptors.request.use(
|
||||
api.interceptors.response.use(
|
||||
(response) => response,
|
||||
(error) => {
|
||||
if (error.response?.status === 401) {
|
||||
// Token expired or invalid - remove token and let ProtectedRoute handle navigation
|
||||
localStorage.removeItem('token');
|
||||
// Force a state update by dispatching a custom event
|
||||
window.dispatchEvent(new CustomEvent('auth-logout'));
|
||||
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
|
||||
localStorage.removeItem('token');
|
||||
// Force a state update by dispatching a custom event
|
||||
window.dispatchEvent(new CustomEvent('auth-logout'));
|
||||
}
|
||||
}
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user