add feature to set user defined expiration on every user close #4
This commit is contained in:
@@ -55,6 +55,21 @@ appApi.interceptors.response.use(
|
||||
|
||||
// Handle unauthorized responses
|
||||
if (error.response?.status === 401 && !originalRequest._retry) {
|
||||
const data = error.response?.data;
|
||||
const serverMessage =
|
||||
typeof data === 'object' && data !== null && 'message' in data
|
||||
? (data as { message: string }).message
|
||||
: undefined;
|
||||
|
||||
if (['no refresh token', 'is expired'].some((msg) => serverMessage?.includes(msg))) {
|
||||
console.warn('[Axios] No refresh token — logging out');
|
||||
try {
|
||||
await logout();
|
||||
} catch (logoutErr) {
|
||||
console.error('[Axios] Logout failed:', logoutErr);
|
||||
}
|
||||
throw new Error('Session expired: no refresh token');
|
||||
}
|
||||
if (isRefreshing) {
|
||||
// Wait until refresh completes
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
|
||||
Reference in New Issue
Block a user