fix(api_service): enhance logout handling on token issues
This commit is contained in:
parent
4908db35ad
commit
02daa1e689
@ -20,7 +20,8 @@ class ApiService {
|
||||
final token = await LocalStorage.getJwtToken();
|
||||
|
||||
if (token == null) {
|
||||
logSafe("No JWT token found.");
|
||||
logSafe("No JWT token found. Logging out...");
|
||||
await LocalStorage.logout();
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -31,7 +32,7 @@ class ApiService {
|
||||
if (refreshed) {
|
||||
return await LocalStorage.getJwtToken();
|
||||
} else {
|
||||
logSafe("Token refresh failed. Logging out...");
|
||||
logSafe("Token refresh failed. Logging out immediately...");
|
||||
await LocalStorage.logout();
|
||||
return null;
|
||||
}
|
||||
@ -47,10 +48,16 @@ class ApiService {
|
||||
final refreshed = await AuthService.refreshToken();
|
||||
if (refreshed) {
|
||||
return await LocalStorage.getJwtToken();
|
||||
} else {
|
||||
logSafe("Token refresh failed (near expiry). Logging out...");
|
||||
await LocalStorage.logout();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
logSafe("Token decoding error: $e", level: LogLevel.error);
|
||||
await LocalStorage.logout();
|
||||
return null;
|
||||
}
|
||||
|
||||
return token;
|
||||
@ -107,8 +114,9 @@ class ApiService {
|
||||
}) async {
|
||||
String? token = await _getToken();
|
||||
if (token == null) {
|
||||
logSafe("Token is null. Cannot proceed with GET request.",
|
||||
logSafe("Token is null. Forcing logout from GET request.",
|
||||
level: LogLevel.error);
|
||||
await LocalStorage.logout();
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -141,8 +149,9 @@ class ApiService {
|
||||
);
|
||||
}
|
||||
|
||||
logSafe("Token refresh failed. Aborting request.",
|
||||
logSafe("Token refresh failed. Logging out user.",
|
||||
level: LogLevel.error);
|
||||
await LocalStorage.logout();
|
||||
}
|
||||
|
||||
return response;
|
||||
|
Loading…
x
Reference in New Issue
Block a user