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();
|
final token = await LocalStorage.getJwtToken();
|
||||||
|
|
||||||
if (token == null) {
|
if (token == null) {
|
||||||
logSafe("No JWT token found.");
|
logSafe("No JWT token found. Logging out...");
|
||||||
|
await LocalStorage.logout();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,7 +32,7 @@ class ApiService {
|
|||||||
if (refreshed) {
|
if (refreshed) {
|
||||||
return await LocalStorage.getJwtToken();
|
return await LocalStorage.getJwtToken();
|
||||||
} else {
|
} else {
|
||||||
logSafe("Token refresh failed. Logging out...");
|
logSafe("Token refresh failed. Logging out immediately...");
|
||||||
await LocalStorage.logout();
|
await LocalStorage.logout();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -47,10 +48,16 @@ class ApiService {
|
|||||||
final refreshed = await AuthService.refreshToken();
|
final refreshed = await AuthService.refreshToken();
|
||||||
if (refreshed) {
|
if (refreshed) {
|
||||||
return await LocalStorage.getJwtToken();
|
return await LocalStorage.getJwtToken();
|
||||||
|
} else {
|
||||||
|
logSafe("Token refresh failed (near expiry). Logging out...");
|
||||||
|
await LocalStorage.logout();
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logSafe("Token decoding error: $e", level: LogLevel.error);
|
logSafe("Token decoding error: $e", level: LogLevel.error);
|
||||||
|
await LocalStorage.logout();
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return token;
|
return token;
|
||||||
@ -107,8 +114,9 @@ class ApiService {
|
|||||||
}) async {
|
}) async {
|
||||||
String? token = await _getToken();
|
String? token = await _getToken();
|
||||||
if (token == null) {
|
if (token == null) {
|
||||||
logSafe("Token is null. Cannot proceed with GET request.",
|
logSafe("Token is null. Forcing logout from GET request.",
|
||||||
level: LogLevel.error);
|
level: LogLevel.error);
|
||||||
|
await LocalStorage.logout();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,8 +149,9 @@ class ApiService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
logSafe("Token refresh failed. Aborting request.",
|
logSafe("Token refresh failed. Logging out user.",
|
||||||
level: LogLevel.error);
|
level: LogLevel.error);
|
||||||
|
await LocalStorage.logout();
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
@ -246,7 +255,7 @@ class ApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Directory calling the API
|
/// Directory calling the API
|
||||||
|
|
||||||
static Future<bool> deleteBucket(String id) async {
|
static Future<bool> deleteBucket(String id) async {
|
||||||
final endpoint = "${ApiEndpoints.updateBucket}/$id";
|
final endpoint = "${ApiEndpoints.updateBucket}/$id";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user